2015-05-20 5 views
0
<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" /> 

Когда я фильтрую, мне нужно получить один элемент для «значения», один элемент для «текста» и один элемент для «ключа» (да, «ключ» имеет только один элемент и он должен быть возвращен)выбрать отдельный xelement на основе атрибута

Я попытался

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

Это возвращает только XAttribute, но мне нужно весь XElement.

ответ

1

Это звучит, как вам нужно DistinctBy от MoreLINQ:

var distinct = elements.DistinctBy(x => x.Attribute("name").Value); 
Смежные вопросы