2011-11-17 50 views
0

我想從我的C#編碼的xml文件中獲取一些數據。XML查詢問題

我怎樣才能得到要求節點的數據,如果以下要求的IB-信息節點不包含撤回節點。

如果您不清楚我的問題,請告訴我。

我不太瞭解XML,並提前致謝。

<info> 
    <claim kind="national" sequence="1"> 
     <country>UK</country> 
     <number>66</number> 
     <date>20080602</date> 
    </claim> 
    <claim-ib-info> 
     <received-at> 
      <date>20090610</date> 
     </received-at> 
    </claim-ib-info> 


    <claim kind="national" sequence="2"> 
     <country>US</country> 
     <number>125</number> 
     <date>20080501</date> 
    </claim> 
    <claim-ib-info> 
     <withdrawn> 
      <date>20100721</date> 
     </withdrawn> 
    </claim-ib-info> 


    <claim kind="national" sequence="3"> 
     <country>TH</country> 
     <number>61</number> 
     <date>20090316</date> 
    </claim> 
    <claim-ib-info> 
     <received-at> 
      <date>20090610</date> 
     </received-at> 
    </claim-ib-info> 


    <claim kind="national" sequence="4"> 
     <country>MY</country> 
     <number>66</number> 
     <date>20090209</date> 
    </claim> 
    <claim-ib-info> 
     <withdrawn> 
      <date>20101221</date> 
     </withdrawn> 
    </claim-ib-info> 
</info> 

回答

3

努力學習和使用Linq to XML.

var list = from ele in XDocument.Load(@"c:\files.xml").Descendants("claim-ib-info") 
        where ele.Element("withdrawn")!=null 
        select ele.PreviousNode ; 

foreach (var t in list) 
{ 
    Console.WriteLine(t); 
}