簡體   English   中英

c#XmlDocument SelectNodes沒有返回節點

[英]c# XmlDocument SelectNodes isn't returning nodes

我正在嘗試制作一個通用的XmlParsing方法。 拿這個Xml:

<body>
<section>
    <subsection1>
        ...
    </subsection1>
    <subsection2>
        ...
    </subsection2>
</section>
<section>
    <subsection1>
        ...
    </subsection1>
    <subsection2>
        ...
    </subsection2>
</section>
</body>

我試圖抓住所有“節”節點而不知道它們有多深或它們的父節點名稱。

到目前為止我(我的XML是字符串格式)

        XmlDocument xml = new XmlDocument();
        xml.LoadXml(XMLtoRead);

        XmlNodeList nodes = xml.DocumentElement.SelectNodes("//section");

但是節點計數始終為0.我認為“//”前綴會遞歸地在文檔中搜索名為的節點。

我真正的XML是SOAP回復:

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">


<soap:Body>
    <Response xmlns="http://tempuri.org/">

在這種情況下,它不是通用的,而是特定於您的SOAP回復類型。 ;-) 嘗試這個:

var ns = new XmlNamespaceManager(xml.NameTable);
ns.AddNamespace("ns", "http://tempuri.org/");
XmlNodeList nodes = xml.DocumentElement.SelectNodes("//ns:section", ns);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM