XML查询问题
本文关键字:问题 查询 XML | 更新日期: 2023-09-27 18:15:00
我正试图从我的c#编码的xml文件中获得一些数据。
如果以下claim-ib-info节点不包含撤回的节点,如何获取claim节点的数据?
如果你不清楚我的问题,请告诉我。
我对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>
尝试学习和使用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);
}
我建议先学习XPath。XPath(与LINQ不同)是一种开放技术;您可以在任何平台上使用它,使用任何支持xml的语言和库:
http://msdn.microsoft.com/en-us/library/d271ytdx.aspx