我有一個這樣的xml文檔,我需要訪問「employees」,「employee」元素,所以我試圖使用linq的XDocument類來獲取員工元素,但它總是返回空值。使用LINQ to XML訪問xml元素
示例XML:
<organization>
<metadata>
</metadata>
<main>
<otherInfo>
</otherInfo>
<employeeInfo>
<employees>
<employee>
<id>1</id>
<name>ABC</name>
</employee>
<employee>
<id>2</id>
<name>ASE</name>
</employee>
<employee>
<id>3</id>
<name>XYZ</name>
</employee>
</employees>
</employeeInfo>
</main>
</organization>
C#代碼:
XDocument xDoc = XDocument.Parse(xmlString);
var allEmployees = from d in xDoc.Descendants("employeeInfo")
from ms in d.Elements("employees")
from m in ms.Elements("employee")
select m;
其實我有根節點的xmlns在我的xml文件,我這裏沒有那麼可以指定你告訴我如何在存在可用名稱空間時訪問後代元素? – user972255
你能爲我提供一個例子嗎? – Lockyc
我錯過了我提供的示例xml中的名稱空間(即xmlns =「http://tempuri.org」),因此我更改了代碼以在所有元素前面添加名稱空間,現在它工作正常。 – user972255