Я пытаюсь загрузить данные из XML-строки в какую-то структуру, поэтому после загрузки я могу сказать Data.PropertyName, чтобы прочитать значения.
Является ли приведенный ниже код наиболее оптимальным способом загрузки данных в структуру?
Очевидно, что вызов First () приводит к попаданию в память, поэтому, если у вас есть элементы с подэлементами, вызовет First () для каждого из них?
Спасибо
string xml = @"<ROOT>
<ID>1</ID>
<NAME>RF1</NAME>
<STAT>10200</STAT>
<TEST>
<ID>1</ID>
<NAME>BIGUN</NAME>
</TEST>
</ROOT>
";
XElement Data = XElement.Parse(xml);
var Element = (from p in Data.Descendants("ROOT")
select new {
ID = (int)p.Element("ID"),
Test = new {
ID = p.Element("TEST").Descendants("ID").First(),
NAME = p.Element("TEST").Descendants("NAME").First()
},
Stat = p.Element("STAT") }).First();
//Read Element.ID, Element.Test.Name