<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
  <url>
    <loc>http://localhost/NvZhuang/ZhenZhiShan/C448952/</loc>
    <lastmod>2007-9-3</lastmod>
  </url>
  <url>
    <loc>http://localhost/FuShiPeiShi/QiTa/C479660/</loc>
    <lastmod>2007-9-3</lastmod>
  </url>
<urlset>我有一个个如上面的xml文件,现在我想查找loc的值里面包含C448952的url节点
这个匹配条件怎么写?用这个 SelectSingleNode()方法!
谢谢大家了,帮个忙吧 !^_^

解决方案 »

  1.   

    SelectSingleNode("/localhost/NvZhuang/ZhenZhiShan")
      

  2.   

    谢谢上面的回答,因为 /NvZhuang/ZhenZhiShan 动态拼成的,有可能会改变,所以只能通过 这个 C448952 不变的值来查找!
      

  3.   

    XmlDocument doc = new XmlDocument();
    doc.Load(@"e:\1.xml");
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
    nsmgr.AddNamespace("xx","http://www.google.com/schemas/sitemap/0.84");XmlNode node = doc.SelectSingleNode("/xx:urlset/xx:url/xx:loc[contains(text(),'C448952')]", nsmgr);
      

  4.   

    谢谢 BearRui(AK-47) !必须要写上名称控件吗?它起什么作用?
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
    nsmgr.AddNamespace("xx","http://www.google.com/schemas/sitemap/0.84");