如何从XNode中读取数据

3

我该如何从XNode中读取数据。

这是我从另一个查询中获取的XNode。

<claim kind="national" sequence="1">
  <country>UK</country>
  <number>66</number>
  <date>20080602</date>
</claim>
<claim kind="national" sequence="3">
  <country>TH</country>
  <number>61</number>
  <date>20090316</date>
</claim>

我想获取国家和日期的值。 非常感谢任何帮助。 谢谢。
2个回答

6

请尝试,

var list = from ele in XDocument.Load(@"c:\file.xml").Descendants("claim")
           select new
            {
              Country=(string)ele.Element("country"),
              Date=(string)ele.Element("date")
             };
 foreach (var t in list)
 {
    Console.WriteLine(t.Country + " "+ t.Date );
 }

EDIT:
编辑:
string country=(string)((XElement)xNodeObj).Element("country");

谢谢您的回复。由于这个 XML 已经在 XNode 中了(不是从文件中读取的),我该如何尝试呢? - kevin
XDocument.Descendants正是我正在寻找的,用于抓取节点作为XElements,干杯!foreach (XElement node in XDocument.Parse(xmlString).Descendants("filter")) - Smörgåsbord

1
这是一种使用XPath的方法:
string xml = "<main><claim kind=\"national\" sequence=\"1\"> <country>UK</country> <number>66</number>  <date>20080602</date></claim><claim kind=\"national\" sequence=\"3\">  <country>TH</country>  <number>61</number>  <date>20090316</date></claim></main>";
XDocument doc = XDocument.Parse(xml);
doc.XPathSelectElement("//claim[country = 'TH']/number").Value.Dump("xpath stuff");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接