gpt4 book ai didi

c# - 将 XML 存储在嵌套字典中

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:18 26 4
gpt4 key购买 nike

我有以下 xml:

<root>
<Animals>
<Pet name ="Ruby">
<Owner name = "John Smith"/>
<Type name = "Dog"/>
<Breed name = "Labrador"/>
<Sex name = "Female"/>
<Desexed name = "Yes"/>
<Age name = "7 years"/>
</Pet>
<Pet name ="Charlie">
<Owner name = "John Q"/>
<Type name = "Dog"/>
<Breed name = "Pug"/>
<Sex name = "Female"/>
<Desexed name = "No"/>
<Age name = "2 Years"/>
</Pet>
</Animals>
</root>

并且我希望将每个“Pet”及其后代的元素名称及其“name”属性的值存储在嵌套字典中。我不知道字典是否是存储此信息的最佳方式,但如果我将其存储在字典中,我会将其存储在 Dictionary<string, Dictionary<string, string>> 中。其中键是宠物名称(例如 Ruby、Charlie),嵌套字典的键是每个属性名称(Owner、Type、Breed、Sex、Desexed、Age),值是名称属性的值。谁能帮我这个?我发现 LINQ 真的很困惑。目前我将其存储在 XDocument 中.

最佳答案

你是这个意思吗?

var dictionary =
xd
.Descendants("Pet")
.ToDictionary(
x => x.Attribute("name").Value,
x => x.Elements()
.ToDictionary(
y => y.Name,
y => y.Attribute("name").Value));

我得到这个结果:

nested dictionry

关于c# - 将 XML 存储在嵌套字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26569764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com