我有这个XML:
<Test>
<element>toto</element>
<element>tata</element>
</Test>
如何获取节点“元素”?我在网上看到我可以得到它们:
var elements = from element in xmlDoc.Descendants("element")
select element;
但“元素”是空的!
编辑1:我正在使用这个确切的XML加载XDocument:
<Test xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">
<element>toto</element>
<element>tata</element>
</Test>
答案 0 :(得分:2)
好的,这是你的问题,你的名字必须使用适当的XML命名空间进行限定。
XNamespace ns = "http://schemas.microsoft.com/ado/2007/08/dataservices";
var elements = xmlDoc.Descendants(ns + "element");
答案 1 :(得分:0)
如何创建XDocument
对象可能存在问题。以下代码适用于我:
var doc = XDocument.Parse(@"
<Test>
<element>toto</element>
<element>tata</element>
</Test>");
var elements = doc.Descendants("element");
//prints "2"
Console.WriteLine(elements.Count());