♀XPath的SelectNodes查询有奇怪问题,请高手指教!♂(
在使用SelectNodes查询Xml节点的时候,第一次从根出发没问题,可是从查询出来的节点再次使用SelectNodes就不好使了,如下面的代码,cs的Count最后是0,取不到东西,不知道是什么问题,请指教!   
 XML文件如下:   
  <?xml   version= "1.0 "   encoding= "utf-8 "   ?>  
  <root>  
        <subRoot>  
              <c> 1 </c>  
              <c> 2 </c>  
              <c> 3 </c>  
              <c> 4 </c>  
              <c> 5 </c>  
              <c> 6 </c>  
        </subRoot>  
        <subRoot>  
              <c> 7 </c>  
        </subRoot>  
        <subRoot>  
              <c> 8 </c>  
        </subRoot>  
        <subRoot>  
              <c> 9 </c>  
        </subRoot>  
        <subRoot>  
              <c> a </c>  
              <c> b </c>  
        </subRoot>  
        <subRoot>  
              <c> c </c>  
              <c> d </c>  
              <c> e </c>  
        </subRoot>  
  </root>    
 源程序代码:   
 XmlDocument   doc   =   new   XmlDocument(); 
 doc.Load(Application.StartupPath   +   @ "\XMLFile1.xml "); 
 XmlNode   root   =   doc.DocumentElement; 
 XmlNodeList   subRoots   =   root.SelectNodes( "/root/subRoot "); 
 foreach   (XmlNode   n   in   subRoots) 
 { 
             XmlNodeList   cs   =   n.SelectNodes( "/subRoot/c "); 
 }
------解决方案--------------------foreach (XmlNode n in subRoots) 
 这里的n已经是subrRoot了,所以你就不能再用n.SelectNodes( "/subRoot/c ");因为你用的是相对路径.   
 这样写就好啦: 
 XmlNodeList cs = n.SelectNodes( "c "); 
------解决方案--------------------XmlNodeList cs = n.SelectNodes( "/subRoot/c "); 
 --》 
 XmlNodeList cs = n.SelectNodes( "c "); 
 这样没问题的 
 我试过了   
 n这个节点已经是subRoot了 
 所以如果用n.SelectNodes的时候 
 Path应该从subRoot的子节点开始