Linq to XML - 尝试选择多个节点
本文关键字:选择 节点 to XML Linq | 更新日期: 2023-09-27 18:30:23
我正在使用接近于此的XML:
<?xml version="1.0"?>
<ROOT>
<SECTION>
<GROUP1>
<NODE NAME="something" value="some value"/>
<NODE NAME="something" VALUE="some value"/>
</GROUP1>
<GROUP2>
<NODE NAME="something" value="some value"/>
<NODE NAME="something" VALUE="some value"/>
</GROUP2>
</SECTION>
<SECTION>
<GROUP1>
<NODE NAME="something" value="some value"/>
<NODE NAME="something" VALUE="some value"/>
</GROUP1>
<GROUP2>
<NODE NAME="something" value="some value"/>
<NODE NAME="something" VALUE="some value"/>
</GROUP2>
</SECTION>
</ROOT>
我只想选择所有 GROUP1 和 GROUP2 元素以及 LINQ 查询。任何帮助,不胜感激。
试试这个:
var doc = XDocument.Parse(xmlString);
var groups = doc.Descendants("SECTION").Elements().Where(e => e.Name.LocalName.StartsWith("GROUP"));
Console.Write(groups.Count());
要找到它来自哪个组,我们可以通过 XElement 的父级获取它。
var doc = XDocument.Parse(xmlString);
var group1 = doc.Descendants("GROUP1");
var group2 = doc.Descendants("GROUP2");
这就是你所追求的吗?