子代将获取具有给定名称的所有子代节点。如果您想具体化,您需要逐项遍历XML层次结构元素,例如
xml.Element("ResultSet").Element("Results").Elements("Result")
.
这应该给你指明正确的方向:
var query = xml.Descendants("Result")
.Select(r => r.Elements()
.Select(e => new { Name = e.Name.LocalName, Value = e.Value }));
foreach (var result in query)
{
foreach (var item in result)
{
Console.WriteLine("{0} : {1}", item.Name, item.Value);
}
}
或者,您可以使用
SelectMany
并展平结果集:
var query = xml.Descendants("Result")
.SelectMany(r => r.Elements()
.Select(e => new { Name = e.Name.LocalName, Value = e.Value }));
foreach (var item in query)
{
Console.WriteLine("{0} : {1}", item.Name, item.Value);
}