Сложный синтаксис XDocument LINQ - PullRequest
       11

Сложный синтаксис XDocument LINQ

0 голосов
/ 03 февраля 2011

Я обновляю 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>

1 Ответ

2 голосов
/ 03 февраля 2011

host - это Element(), а не Attribute().

. Кроме того, запись doc.Descendants("cb").Descendants() вернет каждый отдельный элемент в любом месте <cb>.
Возможно, вы хотите более конкретныйзвоните

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...