2011-02-03 12 views
0

XmlSerializationからLinq-to-xmlにアップグレードしており、この構造体からオブジェクトを取得するのが難しいです。XDocument LINQ複合構文

私はこのポストXmlSerializer - Deserialize different elements as collection of same element

からの提案を試みたが、以下の構造のためにこれをやろうとしてnull値を得続けるました。ご協力いただきありがとうございます。

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> 

答えて

2

hostElement()、ないAttribute()です。

また、doc.Descendants("cb").Descendants()を書き込むと、<cb>内のすべての要素が返されます。
より具体的な電話番号が必要な場合があります。

+0

ソート済みです。乾杯! – bizl