Using Xpath With Default Namespace in C#

前端 未结 13 1719
别那么骄傲
别那么骄傲 2020-11-22 03:02

I\'ve got an XML document with a default namespace. I\'m using a XPathNavigator to select a set of nodes using Xpath as follows:

XmlElement myXML = ...;           


        
13条回答
  •  一个人的身影
    2020-11-22 03:42

    First - you don't need a navigator; SelectNodes / SelectSingleNode should suffice.

    You may, however, need a namespace-manager - for example:

    XmlElement el = ...; //TODO
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(
        el.OwnerDocument.NameTable);
    nsmgr.AddNamespace("x", el.OwnerDocument.DocumentElement.NamespaceURI);
    var nodes = el.SelectNodes(@"/x:outerelement/x:innerelement", nsmgr);
    

提交回复
热议问题