У меня есть следующий XML:Хранение 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» и его потомков в вложенный словарь. Я не знаю, будет ли словарь лучшим способом хранить эту информацию или нет, но если бы я должен был хранить его в словаре, я бы сохранил его в Dictionary<string, Dictionary<string, string>>
, где ключ - это имя домашнего животного (например, Ruby, Charlie) а ключом вложенного словаря является каждое имя атрибута (Owner, Type, Breed, Sex, Desexed, Age), а значением является значение атрибута name. Кто-нибудь может мне с этим помочь? Я нахожу LINQ очень запутанным. На данный момент у меня это хранится в XDocument
.
У вас возникли вопросы? Не совсем понятно, что вы здесь задаете. Угадывание с моей стороны: информация для каждого «ПЭТ» выглядит как один объект-контейнер данных для меня. Почему бы просто не объявить один класс с Owner, Type, Breed и т. Д. В качестве свойств, в которых вы храните эти фрагменты информации? Вы можете использовать экземпляры этого класса в качестве значений в словаре, где имя животного является ключом. –
'Я хочу сохранить его' как? для чего? это невероятно смутно – Jonesopolis
Является ли имя Pet уникальным? если не Dic не лучший вариант –