4

次の XML 構造で重複するグループ ノードを特定しようとしています。ツリー内のどこにいても、同じ名前のグループをすべて見つける必要があります。

<report>
    <group name="a">
        <group name="1"></group>
        <group name="2"></group>
    </group>
    <group name="b">
        <group name="1"></group>
    </group>
</report>

この投稿 ( XPathNavigator を使用して XPath 1.0 で重複ノードを特定するにはどうすればよいですか? ) と同様ですが、同じノード値ではなく、同じ属性を持つグループを特定する必要があります。

4

2 に答える 2

5

重複を見つけるためにLinq To xmlを使用するのはどうですか?

var dubs = XDocument.Parse(xml)
            .Descendants("group")
            .GroupBy(g => (string)g.Attribute("name"))
            .Where(g => g.Count() > 1)
            .Select(g => g.Key);
于 2013-05-09T17:27:33.420 に答える