【发布时间】:2014-10-26 04:20:18
【问题描述】:
我有以下 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>
并且我希望将每个“宠物”及其后代的元素名称及其“名称”属性的值存储在嵌套字典中。我不知道字典是否是存储此信息的最佳方式,但如果我要将其存储在字典中,我会将其存储在 Dictionary<string, Dictionary<string, string>> 中,其中键是宠物名称(例如 Ruby, Charlie),嵌套字典的键是每个属性名称(Owner、Type、Breed、Sex、Desexed、Age),值是名称属性的值。谁能帮我这个?我发现 LINQ 真的很混乱。目前我将其存储在XDocument。
【问题讨论】:
-
您有问题吗?你在这里问什么并不完全清楚。我的猜测是:每个“宠物”的信息对我来说就像一个单一的数据容器对象。为什么不只声明一个具有 Owner、Type、Breed 等的类作为存储这些信息的属性?您可以将该类的实例用作字典中的值,其中宠物名称是键。
-
I wish to store it怎么样?为了什么?这非常模糊 -
宠物名是唯一的吗?如果不是 Dic 不是你最好的选择
-
您可以使用 XmlDocument 读取 XML 并将其存储在内存中(如果这是您的意思):msdn.microsoft.com/en-us/library/…
标签: c# xml linq dictionary