根据属性选择不同的xelement

时间:2015-05-20 13:02:24

标签: xml linq lambda distinct xelement

  <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" />

当我过滤时,我需要为“值”获取一个元素,“text”的一个元素和“key”的一个元素(是,“key”只有一个元素,应该返回)

我试过

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

这只返回XAttribute但我需要整个XElement。

1 个答案:

答案 0 :(得分:3)

听起来你需要来自MoreLINQDistinctBy

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