select 基于属性的不同 xelement

select distinct xelement based on attribute

  <field name="value" value="A" />
  <field name="value" value="B" />
  <field name="text" value="C" />
  <field name="text" value="D" />
  <field name="key" value="E" />

当我过滤时,我需要为 "value" 获取一个元素,为 "text" 获取一个元素,为 "key" 获取一个元素(是的,"key" 只有一个元素应该归还)

我试过了

 elements.Select(item=>item.Attribute("name")).Distinct();

这 returns 只有 XAttribute 但我需要整个 XElement。

听起来你需要 DistinctBy 来自 MoreLINQ:

var distinct = elements.DistinctBy(x => x.Attribute("name").Value);