如何在C#中迭代XML并填充字典?
我有一个类似于以下内容的XML:如何在C#中迭代XML并填充字典?,c#,xml,linq,C#,Xml,Linq,我有一个类似于以下内容的XML: <Account> <Personal> <Name>TestName</name> <address>TestAddress</Address> </personal> <details> <House> <Foundation> <Severity>0&
<Account>
<Personal>
<Name>TestName</name>
<address>TestAddress</Address>
</personal>
<details>
<House>
<Foundation>
<Severity>0</Severity>
</Foundation>
<StepsFront>
<Severity>-1</Severity>
</StepsFront>
<StepsRear>
<Severity>-1</Severity>
</StepsRear>
<StepsSide>
<Severity>-1</Severity>
</StepsSide>
<PorchFront>
<Severity>0</Severity>
</PorchFront>
</House>
</details>
</Account>
我尝试过几种方法,将LINQ to XML与XDocument和XElement一起使用,但我所用的方法都没有给我任何帮助。您可以使用以下方法:
字典严重性=
文件继承人(“房屋”).First()
.Elements().ToDictionary(
e=>e.Name.ToString(),
e=>int.Parse(e.Element(“Severity”).Value);
请添加一些解释。
Foundation 0
StepsFront 3
StepsRear 1
StepsSide 3
PorchFront 2
XDocument document;
...
var house = document.Elements("House").First();
house.Elements().ToDictionary(e => e.Name, e => e.Element("Severity").Value);
Dictionary<string, int> severities =
doc.Descendants("House").First()
.Elements().ToDictionary(
e => e.Name.ToString(),
e => int.Parse(e.Element("Severity").Value));