How to parse XML with namespace

后端 未结 3 920
礼貌的吻别
礼貌的吻别 2020-12-11 10:36

Bonjour,

I have an xml doc:


    
        XXX         


        
3条回答
  •  我在风中等你
    2020-12-11 10:58

    With XPathSelectElements you should provide namespace manager in order to use namespaces in XPath query:

    var manager = new XmlNamespaceManager(new NameTable());
    manager.AddNamespace("ns2", "XXXX");
    manager.AddNamespace("ns", "XXXXX"); // default namespace
    
    var names = from n in xdoc.XPathSelectElements("//ns2:feed/ns:name", manager)
                select (string)n;
    

    Without XPath you should use XNamespace when providing name of node to find:

    XNamespace ns = "XXXXX";
    XNamespace ns2 = "XXXX";
    
    var names = from f in xdoc.Descendants(ns2 + "feed")
                select (string)f.Element(ns + "name");
    

提交回复
热议问题