我有这个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>
好吧,这是您的问题,您的名称必须使用适当的XML命名空间进行限定。
XNamespace ns = "http://schemas.microsoft.com/ado/2007/08/dataservices";
var elements = xmlDoc.Descendants(ns + "element");
创建XDocument
对象的方式可能有问题。以下代码对我来说很好:
var doc = XDocument.Parse(@"
<Test>
<element>toto</element>
<element>tata</element>
</Test>");
var elements = doc.Descendants("element");
//prints "2"
Console.WriteLine(elements.Count());