簡體   English   中英

XmlDocument.SelectSingleNode省略前綴和名稱空間

[英]XmlDocument.SelectSingleNode omit prefixes and namespaces

此問題是已回答問題的跟進: XmlDocument.SelectSingleNode和前綴+ xmlNamespace問題

問題在於,將來可能會更改接收到的xml的名稱空間前綴而不會發出警告,因此我們想知道是否有任何使用SelectSingleNode的方法,而忽略了元素的前綴。

(我們知道我們可以刪除傳入xml的所有前綴,但是這需要更多步驟。...盡管提供了代碼,但我們認為這是一個有效的答案...)

只要名稱空間URI不更改,前綴名稱是否更改都沒有關系。

您在代碼中使用的前綴名稱與XML文檔中的前綴名稱不必匹配,例如

namespaces.AddNamespace("foo", "http://exception.do29.imq.es/xsd");
XmlNode nodemsg = xmldocu.SelectSingleNode("//foo:message", namespaces);

可以在xpath中使用*來省略它,例如:

//*[local-name()='ElementName']

基於帶有名稱空間的XPath選擇節點問題

另外,此工具對於測試不同的xpath非常有用。... http: //xpathvisualizer.codeplex.com/

暫無
暫無

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

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