日期:2014-05-18  浏览次数:21007 次

xml中怎么读取一个子节点有特定值的节点?
有一个简单的xml文件,如下:
<books>
  <book pages="944">
  <title>Beginning Visual C#</title>
  <data>2008年</date>
  <author>Karli Watson</author>
  <code>7582</code>
  </book>
  <book pages="1000">
  <title>Beginning Visual C# 3rd Edition</title>
  <data>1995年</date>
  <author>Eric White</author>
  <code>1234567890</code>
  </book>
</books>
对XPath查询不熟,我想找出子节点名称为“data”,子节点的值为“1995年”的节点title。
XmlDocument doc = new XmlDocument();
doc.load(@"......");
XmlNode xNode = doc.SelectSingleNode(....); 
红色省略号中的内容应该怎么写,先谢谢各位了。

------解决方案--------------------
XmlDocument doc = new XmlDocument(); 
doc.load(@"......"); 
XmlNode node = doc.SelectSingleNode("/books/book[data='1995年']");
string tilele=node["title"];

好像你的xml有问题吧。。。。

<books>
<book pages="944">
<title>Beginning Visual C# </title>
<data>2008年</data>
<author>Karli Watson </author>
<code>7582 </code>
</book>
<book pages="1000">
<title>Beginning Visual C# 3rd Edition </title>
<data>1995年</data>
<author>Eric White </author>
<code>1234567890 </code>
</book>
</books>
要一致...