我有一个这样的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