Мне нужно сгруппировать следующие XML, используя LINQ to XML или XPath, с помощью param/Type
. С группировкой я хотел бы получить какое-либо значение (или, во-первых, не имеет значения) id
тег.Группировка в LINQ to XML с «любой» или первой «агрегацией»
<list>
<item>
<id>1</id>
<param>
<type>A</type>
</param>
</item>
<item>
<id>2</id>
<param>
<type>A</type>
</param>
</item>
<item>
<id>3</id>
<param>
<type>B</type>
</param>
</item>
<item>
<id>4</id>
<param>
<type>B</type>
</param>
</item>
желательные результаты является
A - 1
B - 3
Я попытался
var content = from item in doc.Descendants("item").Descendants("param")
group item by new
{
mType = (String)item.Element("type"),
} into g
select new
{
mType = g.Key.mType,
};
но я не могу понять, как ссылаться на ID, который выше в иерархии, или как ссылаться на PARAM/TYPE при выборе ID.
Чистые запросы на ввод кода не относятся к теме при переполнении стека - мы ожидаем, что вопросы здесь относятся к * конкретным * проблемам программирования, но мы, , с радостью поможем вам сами написать! Сообщите нам [что вы пробовали] (http://whathaveyoutried.com), и где вы застряли. Это также поможет нам лучше ответить на ваш вопрос. – CoderDennis