提问人:John Paul Johns 提问时间:2/17/2023 最后编辑:GSergJohn Paul Johns 更新时间:2/17/2023 访问量:46
C# 如何获取未知的属性列表
c# how to get unknown list of attributes
问:
当我发送请求时,我会得到这样的响应:
<?xml version="1.0" encoding="UTF-8"?>
<response result="0">
<check result="0">
<extras PRV_TXN_ID="538659" disp1="text1" disp2="text2" disp3="text3"/>
</check>
</response>
我想在控制台中显示属性列表。属性数量未知,取决于请求。有时会有.在这个响应中,有 3 个属性,在得到响应之前,我不知道它们有多少。怎么做呢?disp
disp
disp1.....disp8
disp
这是我的解析:
public static XmlDocument postXMLData(string xml)
{
var request = (HttpWebRequest)WebRequest.Create(Requests.url);
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(xml);
request.ContentType = "text/xml; encoding='utf-8'";
request.ContentLength = bytes.Length;
request.Method = "POST";
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
var result = new XmlDocument();
result.LoadXml(responseText);
return result;
}
}
throw new Exception("что то не так");
}
答: 暂无答案
评论
WebClient.UploadString
XElement
XmlDocument
result.Element("response").Element("check").Element("extras").Attributes().Where(a => a.Name.StartsWith("disp")
XElement.ToString()
, .XElement.Parse()