Linq到Xml查询

gsh*_*arp 1 .net c# linq linq-to-xml

我有一个像这样的xml结构:

<Items>
    <Configuration>
        <ConfigurationSetting>Setting1</ConfigurationSetting>
        <ConfigurationSetting>Setting2</ConfigurationSetting>
    </Configuration>
    <MetaData>
    ...
    </MetaData>
    <Group>
        <GroupType>MyType1</GroupType>
        <GroupType>MyType2</GroupType>
    </Group>
    <Group>  <--- Looking for this Element
        <Reference>MyReference1</Reference>
        <Reference>MyReference2</Reference>
    </Group>
    <Group>
        <GroupType>MyType3</GroupType>
        <GroupType>MyType4</GroupType>
    </Group>
</Items>
Run Code Online (Sandbox Code Playgroud)

我想写一个Linq查询,返回包含子元素"引用"的第一个"组"元素.

谢谢你的帮助.

Mar*_*ell 8

就像是:

        var grp = doc.Root.Elements("Group")
            .Where(g  => g.Elements("Reference").Any())
            .FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

或者作为xPath(可能在XmlDocument):@"/Items/Group[Reference]"