使用XPATH
在C#中默认名称空间导航XML>使用包含默认名称空间的XML文档通常需要仔细处理XPATH表达式以正确选择节点。 一个常见的错误是省略名称空间前缀,导致结果集。
> 通过将命名空间合并到您的XPath查询中,可以解决此问题。 虽然不是严格要求,但XPathNavigator
或SelectNodes
的方法就足够了。
SelectSingleNode
至关重要的步骤是创建
XmlNamespaceManager
<code class="language-csharp">XmlElement el = ...; //TODO: Obtain your XmlElement XmlNamespaceManager nsmgr = new XmlNamespaceManager(el.OwnerDocument.NameTable); nsmgr.AddNamespace("x", el.OwnerDocument.DocumentElement.NamespaceURI); var nodes = el.SelectNodes("/x:outerelement/x:innerelement", nsmgr);</code>
>。 然后,它使用前缀“ x”注册根元素的默认名称空间。 最后,现在使用XPATH表达式调用XmlNamespaceManager
>,包括“ X”前缀,从而可以选择目标节点。 切记用代码替换NameTable
评论以获取您的SelectNodes
//TODO
。
以上是如何将XPath与C#中的默认名称空间一起选择节点?的详细内容。更多信息请关注PHP中文网其他相关文章!