我有一个 XDocument
对象。我想使用 LINQ 在任意深度查询具有特定名称的元素。
当我使用 Descendants("element_name")
时,我只获得当前级别的直接子元素。我正在寻找 XPath 中“//element_name”的等效项...我应该只使用 XPath
,还是可以使用 LINQ 方法来实现?
最佳答案
后代应该工作得很好。这是一个例子:
using System;
using System.Xml.Linq;
class Test
{
static void Main()
{
string xml = @"
<root>
<child id='1'/>
<child id='2'>
<grandchild id='3' />
<grandchild id='4' />
</child>
</root>";
XDocument doc = XDocument.Parse(xml);
foreach (XElement element in doc.Descendants("grandchild"))
{
Console.WriteLine(element);
}
}
}
结果:
<grandchild id="3" />
<grandchild id="4" />
关于c# - 在 XDocument 中按名称在任意深度查询元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566167/