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

怎么才能直接找到XML文档中的特定结点?!
<?xml version="1.0" encoding="gb2312"?>
<Cate ID="c0aabbc0-6071-4657-98ab-cff683a6acb1" Name="Feed分类" Expanded="true" >
  <Cate ID="c0aabbc0-6071-4657-98ab-cff683a6acb2" Name="a分类" >
  <Cate ID="c0aabbc0-6071-4657-98ab-cff683a6acb3" Name="a分类最早" >
  <Feed ID="c0aabbc0-6071-4657-98ab-cff683a6acb5" Name="abc" Url="http://www.cnblogs.com/rss"></Feed>
  </Cate>
  <Feed ID="c0aabbc0-6071-4657-98ab-cff683a6acb6" Name="ffffff" Url="http://www.cnblogs.com/rss"></Feed>
  <Feed ID="find here" Name="333" Url="http://www.cnblogs.com/rss"></Feed> <Feed ID="c0aabbc0-6071-4657-98ab-cff683a6acb8" Name="222" Url="http://www.cnblogs.com/rss"></Feed>
  </Cate>
  <Cate ID="c0aabbc0-6071-4657-98ab-cff683a6acb4" Name="b分类" >
  </Cate>
</Cate>

xml文件如上,通过XmlDocument类直接找到ID="find here" 的那个结点

------解决方案--------------------

 XmlDocument xml = new XmlDocument();
xml.Load("xml 文件名称");
XmlNode book=xml.DocumentElement;
string findpath = "Feed[ID='find here']";
XmlNode xmlel = book.SelectSingleNode(findpath);

你给的xml文件有点问题我没有改 ,没有调试 上面代码应该是可以
------解决方案--------------------
XPath
XmlDocument xml = new XmlDocument();
xml.Load("xml 文件名称");
XmlNode xmlel = xml.SelectSingleNode("/Cate/Cate/Feed[@ID='find here']");