Я не могу понять это сам. Мой XML-файл выглядит так:Linq to XML - разобрать узел в словаре
<section name="blah">
<setting1 name="blah">blah</setting1>
<setting1 name="blah1">blah1</setting1>
</section>
<section name="foo">
<setting2 name="sth">sth</setting2>
<setting2 name="sth1">lala</setting2>
</section>
И так далее.
То, что я хотел бы сделать, это разобрать каждую секцию в собственный индивидуальный словарь, как это:
Dictionary <string, string> foo;
Dictionary <string, string> blah;
XElement xelement = XElement.Load("test.xml");
IEnumerable<XElement> sections = xelement.Elements();
foreach (var section in sections)
{
switch (section.Attribute("name").Value)
{
case "foo":
foo = ... Something
break;
case "blah":
blah = ... Something
break;
}
}
И так далее.
После разбора:
foo["sth1"] <---- contains lala
blah["blah1"] <---- contains blah1
Как я могу добиться этого в Linq?
Так вы * только * хотите элемент 'foo'? Как насчет 'блаха'? –
Я хочу все элементы. Я редактировал код, чтобы было ясно. – szczurcio
Кажется, что 'Dictionary>' будет лучшей ставкой тогда ... –