我有这样的 XML 文档:
<BrowseNodes>
<BrowseNode>
<BrowseNodeId>4075981</BrowseNodeId>
<Name>Nutrition Bars</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>4075971</BrowseNodeId>
<Name>Nutrition Bars & Drinks</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3764441</BrowseNodeId>
<Name>Diet & Nutrition</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3760931</BrowseNodeId>
<Name>Products</Name>
<IsCategoryRoot>1</IsCategoryRoot>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3760901</BrowseNodeId>
<Name>Health & Personal Care</Name>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</BrowseNodes>
我想通过 XLINQ 查询来查找类别根。没有多少祖先实际上可以包括在内怎么办?
最佳答案
您应该使用 Descendants 属性。
var node =
XElement.Parse(xmlString)
.Descendants()
.Where(xe => xe.Element("IsCategoryRoot") != null && xe.Element("IsCategoryRoot").Value == "1");
关于c# - 如何在不知道使用 Linq to XML 嵌套多深的情况下查找元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8087318/