0

我有一个这样的 xml 文档

<root>
  <e id="1" subid="1">
    <key>a</key>
  </e>
  <e id="2" subid="1">
    <key>a</key>
  </e>
  <e id="3" subid="2">
    <key>c</key>
  </e>
  <e id="4" subid="2">
    <key>d</key>
  </e>
</root>

我想选择具有相同 subid 但具有不同键的元素组。

我想我需要先将它们分组

var ElementGroups = from E in Root.Elements("e")
                    group E by E.Attribute("subid") into Egroups
                    where ?.Element("key").distinct().count > 1
                    select Egroups

我有正确的方法吗?我不知道如何在分组后引用特定元素。

4

1 回答 1

2

我认为您正在寻找:

var ElementGroups = from E in Root.Elements("e")
                    group E by (string)E.Attribute("subid") into Egroups
                    where Egroups.Elements("key").Select(x => (string)x).Distinct().Count() > 1
                    select Egroups;
于 2013-08-07T07:13:07.837 回答