我想使用XPath查詢來選擇xml文檔的根節點的所有子節點。如何在根節點有屬性時選擇xml根節點?
我的XML文件看起來像如下:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<automotive_industry>
<automotive />
<rail_global_services />
</automotive_industry>
</root>
和
<?xml version="1.0" encoding="UTF-8" ?>
<root xmlns="http://www.my_department.my_company.com/project_name">
<automotive_industry>
<automotive />
<rail_global_services />
</automotive_industry>
</root>
C#代碼選擇根節點如下:
XmlDocument gazetteDocument = new XmlDocument();
gazetteDocument.Load(xmlFilePath);
XmlNodeList allNodes = gazetteDocument.SelectNodes("root");
此代碼工作正常,它當根節點沒有任何屬性時,選擇根節點的所有子節點,它適用於第1個xml fi但第二個xml文件不起作用,因爲第二個文件具有xmlns屬性。
有沒有人知道當根節點有屬性時如何選擇根節點的所有子節點?
編輯: 我發現一個XPath查詢:/*
此查詢選擇根節點不管是否有任何屬性或沒有。一旦選擇了根節點,我就可以遍歷其所有的子節點。
[在C#中使用帶有默認名稱空間的Xpath]的可能的重複(http://stackoverflow.com/questions/585812/using-xpath-with-default-namespace-in-c) – 2011-05-02 17:53:54