C# 如何获取未知的属性列表

c# how to get unknown list of attributes

提问人:John Paul Johns 提问时间:2/17/2023 最后编辑:GSergJohn Paul Johns 更新时间:2/17/2023 访问量:46

问:

当我发送请求时,我会得到这样的响应:

<?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 个属性,在得到响应之前,我不知道它们有多少。怎么做呢?dispdispdisp1.....disp8disp

这是我的解析:

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("что то не так");
}
C# XMLDocument

评论

0赞 GSerg 2/17/2023
这回答了你的问题吗?获取给定 XML 元素的所有有效属性
0赞 Jeroen Mostert 2/17/2023
对于一个电话可以做什么来说,这是一个很大的仪式。使用 XML 处理任务,而不是使 XML 处理任务变得容易得多 ()。WebClient.UploadStringXElementXmlDocumentresult.Element("response").Element("check").Element("extras").Attributes().Where(a => a.Name.StartsWith("disp")
0赞 John Paul Johns 2/17/2023
@JeroenMostert感谢您的反馈。以及如何在 WebClient 或同一个 WebRequest 中使用 XElement?
0赞 Jeroen Mostert 2/17/2023
XElement.ToString(), .XElement.Parse()

答: 暂无答案