У меня есть следующий XML:Group пунктом ограничения пунктов в группе
<R N="1">
<MT N="Section" V="Section-1" />
<MT N="Person" V="John" />
</R>
<R N="2">
<MT N="Section" V="Section-1" />
<MT N="Person" V="Peter" />
</R>
<R N="3">
<MT N="Section" V="Section-2" />
<MT N="Person" V="Joseph" />
</R>
... ...
<R N="N">
<MT N="Section" V="Section-J" />
<MT N="Person" V="PersonX" />
</R>
И следующее GroupBy
пункт, который формирует IEnumerable<IGrouping<string,XElement>>
:
var something = MyElements.GroupBy
(
x => x.Elements("MT")
.First
(
type => type.Attribute("N").Value == "Section"
)
.Attribute("V").Value
,
x=>x
);
Я хотел бы иметь максимум 4 пунктов в каждой группе.
Я не могу использовать метод Take
по выражению x=>x
, так как его не IEnumerable<T>
.
Вы знаете, как ограничить результаты для каждой группы?
Можете ли вы описать, что данные, которые вы хотите, чтобы выбрать из XML? Похоже, ваш запрос не самый лучший, который вы можете использовать –