[c#]Linq 到 XML-试图选择多个节点

标签: Linq XML C#
发布时间: 2017/2/28 22:41:42
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我的工作就是这样的 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>

我只想选择与 LINQ 查询的所有 GROUP1 和 GROUP2 元素。 任何帮助被赞赏。

解决方法 1:

试试这个︰

var doc = XDocument.Parse(xmlString);
var groups = doc.Descendants("SECTION").Elements().Where(e => e.Name.LocalName.StartsWith("GROUP"));
Console.Write(groups.Count());

要找到哪个组它来自,我们可以得到它的父项的 XElement。

赞助商