Я обновляю XmlSerialization до Linq-to-xml и затрудняюсь получить объекты из этой структуры.
Я попробовал предложения из этого поста XmlSerializer - десериализовать различные элементы как набор из одного элемента
но продолжайте получать нулевое значение, пытаясь сделать это для структур ниже. Спасибо за вашу помощь.
var hbs = from f in doc.Descendants("cb").Descendants() select new Hb(f.Attribute("host").Value); public class Hb { public string a{ get; set; } public string aKey { get; set; } public string bKey { get; set; } } <cb rootElement><Hb xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""> <host>host01</host> <keyF> <a>1</a> <aKey>job_id</aKey> <bKey>883b196a-6e2d-462a-9e3a-8a2021585629</bKey> </keyF> <field> <a>1</a> <aKey>asset_state</aKey> <bKey>STOPPED</bKey> </field> <field> <a>1</a> <aKey>channel</aKey> <bKey>1</bKey> </field> <field> <a>1</a> <aKey>timecode_out</aKey> <bKey>00:00:00.00</bKey> </field> <field> <a>1</a> <aKey>% Processor Time 0</aKey> <bKey>0.33</bKey> </field> </Hb> </cb>
host - это Element(), а не Attribute().
host
Element()
Attribute()
. Кроме того, запись doc.Descendants("cb").Descendants() вернет каждый отдельный элемент в любом месте <cb>. Возможно, вы хотите более конкретныйзвоните
doc.Descendants("cb").Descendants()
<cb>