我有一个xml架构。这个模式不确定节点。我正在搜索节点。我想要类似的东西,例如,搜索结果位于节点的底部。我希望看到祖先的顶峰。
var query = from c in XMLDoc.Descendants("Nodes")
where c.Attribute("ExamleField") != null && (string)c.Attribute("ExamleField").Value == "321"
select c;
答案 0 :(得分:0)
看起来您正在使用XDocument
和LINQ to XML
在这种情况下,您可以找到XObject.Parent
的任何节点的父元素。要遍历节点的所有父节点,请使用XNode.Ancestors()
。如果节点是元素,则可以使用XElement.AncestorsAndSelf
因此,如果您想要选择包含查询元素的所有"GroupingNode"
元素,您可以执行以下操作:
var query = from c in XMLDoc.Descendants("Nodes")
where c.Attribute("ExamleField") != null && (string)c.Attribute("ExamleField").Value == "321"
let a = c.Ancestors("GroupingNode").FirstOrDefault()
where a != null
select a;