如何在c#中遍历XML并填充Dictionary
本文关键字:XML 填充 Dictionary 遍历 | 更新日期: 2023-09-27 18:03:29
我有一个类似的XML:
<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>
我可以很容易地获得个人详细信息,但是我想要一些方法来动态地用House中的项目填充Dictionary,因为这些可能会改变,像这样:
Foundation 0
StepsFront 3
StepsRear 1
StepsSide 3
PorchFront 2
我试过这样做的几种方式,使用LINQ XML与XDocument和XElement,但我所使用的没有给我任何接近。
您可以使用ToDictionary
方法:
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));