2017-02-09 192 views
0

我可以讀這樣的XML ...未設置爲一個實例讀取XML命名空間

var xml = new XmlDocument(); 
    xml.Load(fileName); 


    var myVal = SingleElement(xml, "BOOKS/AUTHOR/NAME") 

    public string SingleElement(XmlDocument xdoc, string thePath) 
    { 
     string value; 
     try 
     { 
      return xdoc.SelectSingleNode(thePath).InnerText; 
     } 
     catch (Exception x) 
     { 
      value = string.Empty; 
     } 

     return value; 
    } 

但如果XML文件具有類似<ns0:BOOKS

命名空間我得到一個錯誤「對象引用的對象「錯誤。爲了能夠讀取xml,我需要添加什麼?

回答

0

您可以使用XmlNamespaceManager添加命名空間。

XmlNamespaceManager namespacemgr = new XmlNamespaceManager(xdoc.NameTable); 
     namespacemgr.AddNamespace("ns", "xxx"); 
     XmlNode node = criteria.SelectSingleNode("/ns:Books", namespacemgr);