我有XElement
一个对象,它是我从 XML 文件中读取的 XML 树。现在我想检查这棵树中的所有节点以获取第一个属性名称和值。有没有简单的方法来遍历所有节点(从根到叶)?我的 XML 文件有很多不同的和奇怪的节点——这就是解决这个问题更难的原因。我想过写一些递归,但希望这是另一种更容易解决的方法。
问问题
2353 次
2 回答
2
也许看看 Xpath。像这样的 XPath//*[@id=42]
可以完成这项工作。
这意味着获取属性“id”值为 42 的所有节点。
你可以这样做,//*
它会返回树中的所有节点。
Xpath:http: //msdn.microsoft.com/en-gb/library/ms950786.aspx
于 2012-07-31T13:17:54.737 回答
1
您可以使用XElement.Elements()
.
这是一些使用递归来获取每个级别的所有元素的代码:
void GetElements(XElement element){
var elements = element.Elements();
foreach(Element e in elements){
//some stuff here
if(e.Elements() != null)
GetElements(e);
}
}
于 2012-07-31T13:19:37.693 回答