[英]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.