How do I get an IXmlNamespaceResolver

前端 未结 3 664
一向
一向 2021-01-11 12:57

I\'m trying to call the XElement.XPathSelectElements() overload that requires an IXmlNamespaceResolver object. Can anyone show me how to get (or make) an IXmlNamespaceResolv

3条回答
  •  长发绾君心
    2021-01-11 13:38

    Use new XmlNamespaceManager(new NameTable()).

    For example, if you have an XML document that uses namespaces like

    var xDoc = XDocument.Parse(@"
        98
        96
    ");
    

    then you can get the Grade nodes by doing

    var namespaceResolver = new XmlNamespaceManager(new NameTable());
    namespaceResolver.AddNamespace("math", "http://www.ludlowcloud.com/Math");
    var grades = xDoc.XPathSelectElements("//math:Student/math:Grade", namespaceResolver);
    

提交回复
热议问题