我正在使用与此接近的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查询。 任何帮助表示赞赏。
答案 0 :(得分:1)
试试这个:
var doc = XDocument.Parse(xmlString);
var groups = doc.Descendants("SECTION").Elements().Where(e => e.Name.LocalName.StartsWith("GROUP"));
Console.Write(groups.Count());
要查找它来自哪个组,我们可以通过XElement的父级获取它。
答案 1 :(得分:0)
var doc = XDocument.Parse(xmlString);
var group1 = doc.Descendants("GROUP1");
var group2 = doc.Descendants("GROUP2");
是你所追求的?