LINQ XML获取父节点的子节点
本文关键字:子节点 父节点 获取 XML LINQ | 更新日期: 2023-09-27 18:16:33
请查看下面的xml数据。我想使用LINQ查询获得键"Sub1"answers"Sub2"的节点,因为我知道父节点有url="#",标题="item 1",键="Item1"。
<root>
<node title="Partner" url="" description="99" roles="GuidIdHere"></node>
<node title="Test" url="" description="51" roles="8b0c0c4f" key="sample">
<node url="#" title="item 1" description="" key="Item1">
<node url="#" title="Sub 1" description="" key="Sub1" />
<node url="#" title="Sub 2" description="" key="Sub2" />
</node>
<node url="#" title="item 2" description="" key="Item2" />
<node url="#" title="item 3" description="" key="Item3" />
</node>
</root>
谢谢!
var result = from x in doc.Root.Descendents("node")
where (string)x.Attribute("url") == "#"
&& (string)x.Attribute("title") == "item 1"
&& (string)x.Attribute("key") == "Item1"
from y in x.Elements("node")
where (string)x.Attribute("key") == "Sub1"
|| (string)x.Attribute("key") == "Sub2"
select y;