Могу ли я использовать объекты массива словаря?
У меня есть XML, который я хотел бы изменить.Структура данных, которую я буду использовать, это -
Dictionary<element, Dictionary<attr, value>>
элемент - это Элемент, который я собираюсь изменить attr - атрибут, значение которого я собираюсь обновить, - значение, которым я являюсьдля обновления
<Parents>
<Parent id="ParentA" description="New">
<Children>
<Child name="ChildA" />
</Children>
</Parent>
</Parents>
Я хотел бы передать следующее
Dictionary<string, string> dict_Attributes1=new Dictionary<string, string>();
Dictionary<string, string> dict_Attributes2=new Dictionary<string, string>();
dict_Attributes1.Add("id", "ParentB");
dict_Attributes1.Add("description", "Old");
dict_Attributes2.Add("name", "ChildB");
Dictionary<string, Dictionary<string, string>> dict_Elements = new Dictionary<string, Dictionary<string, string>>();
dict_Elements.Add(".", dict_Attributes1);//To update the Element
dict_Elements.Add("Children/Child", dict_Attributes2);//To update the Children's Attributes
Допустим, я уже определил, что должен обновить Parent, чей идентификатор - ParentA.
Теперь, когда я создаю dict_Attributes1, dict_Attributes2 и т. Д., Есть ли способ сохранить их в (динамическом, неизвестном во время компиляции) массиве объектов Dictionary?
В качестве альтернативыЕсть ли лучший способ сделать это - 1. Изменить атрибуты выбранного XElement и его дочерних атрибутов?
РЕДАКТИРОВАТЬ
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Environments>
<Environment id="Master" description="MasterSystem">
<Systems>
<DefaultSystem systemName="Master" server="http://localhost" />
</Systems>
</Environment>
</Environments>
</Configuration>
Теперь, когдаПользователь меняет идентификатор и описание, я хочу обновить этот файл XML с новыми значениями.При изменении идентификатора и описания (которые получены от пользователя), я хочу обновить systemName с тем же значением идентификатора.
Если новый идентификатор «Разработка» и описание «DevelopmentSystem»,
Выходной XML должен быть
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Environments>
<Environment id="Development" description="DeveloperSystem">
<Systems>
<DefaultSystem systemName="Development" server="http://localhost" />
</Systems>
</Environment>
</Environments>
</Configuration>