我有一个像这样的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
我有正确的方法吗?我不知道如何在分组后引用特定元素。
答案 0 :(得分: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;