给出以下XML结构:
<courses>
<course>
<title>foo</title>
<description>bar</description>
</course>
...
</courses>
如何创建字典数组,使每个字典包含课程中的所有元素/值对?
我现在拥有的是一个数组,其元素包含一个课程中每个元素/值对的单个键/值字典:
XElement x = XElement.Parse("...xml string...");
var foo = (from n in x.Elements() select n)
.Elements().ToDictionary(y => y.Name, y => y.Value);
产地:
[0] => {[course, foo]}
[1] => {[description, bar]}
我想要的是:
[0] => {[course, foo], [description, bar]}
答案 0 :(得分:4)
像这样:
x.Elements("course")
.Select(c => c.Elements().ToDictionary(y => y.Name, y => y.Value))
.ToArray();