У меня есть XElement, структурированный так:
<items>
<item>
<param1>A</param1>
<param2>123</param2>
</item>
<item>
<param1>B</param1>
<param2>456</param2>
</item>
<item>
<param1>A</param1>
<param2>789</param2>
</item>
<item>
<param1>B</param1>
<param2>101112</param2>
</item>
</items>
Я хочу получить словарь, в котором ключи привязаны к <param1>
(A, B), а значением являются списки соответствующих элементов:
A -> <item><param1>A</param1><param2>123</param2></item>
<item><param1>A</param1><param2>789</param2></item>
B -> <item><param1>B</param1><param2>456</param2></item>
<item><param1>B</param1><param2>101112</param2></item>
Я пытался с этим:
var grouped = xItems.Descendants("item").GroupBy(r => r.Element("param1"))
.ToDictionary(g => g.Key, g => g.ToList());
Но я все еще получаю 4 элемента, набор значений ключа с дублированными ключами, а не словарь из 2 элементов, как мне хотелось бы. Любая помощь?