我正在尝试从我的C#编码中获取xml文件中的一些数据。
如果以下 claim-ib-info 节点不包含 撤消<,如何获取声明节点的数据< / strong>节点。
如果你不清楚我的问题,请告诉我。
我对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>
答案 0 :(得分: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);
}
答案 1 :(得分:1)
我建议先学习XPath。 XPath(与LINQ不同)是一种开放技术;您可以在任何平台上使用它,使用任何支持XML的语言和库: