Многозначный XML элемент до C# - PullRequest
1 голос
/ 09 марта 2020

У меня есть файл XML, в котором есть набор элементов, отформатированных следующим образом:

<MyItems>
   <item size_x="2" size_y="2"/>
   <item value1="0" value2="0"/>
   <item value1="0" value2="0"/>
   <item value1="0" value2="0"/>
   <item value1="0" value2="0"/>
<MyItems/>

Я пытаюсь десериализовать это в двумерный массив, но я не знаю, какой тип данных предметы переводятся в C#. Это структуры? И если так, как первая запись в списке может иметь разные имена для своих значений? И будет ли форматирование таким же, если я повторно сериализую список из своего кода?

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 09 марта 2020
System.Xml.Linq.XDocument XD = System.Xml.Linq.XDocument.Load("URL");
Dictionary<string,string> Data = (from _Mi in XD.Elements("MyItems")
              from _It in _Mi.Elements("item")
              select new
              {
                  V1= n.Attribute("value1").Value,
                  V2= n.Attribute("value2").Value
              }).ToDictionary(c => (string)c.V1, c => (string)c.V2);

Вы также можете использовать

V1 = n.FirstAttribute.Value;
V2 = n.LastAttribute.Value;

или

_values = n.Attributes.tolist();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...