XPath学习:基本语法(三)

     XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

     XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。

     推荐一个挺不错的网站:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html  里面有很不错的例子,下面的例子中红色字体表示使用对应语法获取的元素(或属性)。

     上一篇学习XPath的谓语用来查找某个特定的节点或者包含某个指定的值的节点,本篇学习选择未知的XML元素和选择若干路径

     1、星号 * 表示选择所有由星号之前的路径所定位的元素,*是通配符,表示该路径下的所有元素,也表示层次。

      选择所有路径依附于/AAA/CCC/DDD的元素  语法:/AAA/CCC/DDD/*

   <AAA> 
     <XXX> 
          <DDD> 
               <BBB/> 
               <BBB/> 
               <EEE/> 
               <FFF/> 
          </DDD> 
     </XXX> 
     <CCC> 
          <DDD> 
               <BBB/> 
               <BBB/> 
               <EEE/> 
               <FFF/> 
          </DDD> 
     </CCC> 
     <CCC> 
          <BBB> 
               <BBB> 
                    <BBB/> 
               </BBB> 
          </BBB> 
     </CCC> 
   </AAA>

     选择所有的有3个祖先元素的BBB元素,即在第四层的BBB元素  语法:/*/*/*/BBB

   <AAA> 
     <XXX> 
          <DDD> 
               <BBB/> 
               <BBB/> 
               <EEE/> 
               <FFF/> 
          </DDD> 
     </XXX> 
     <CCC> 
          <DDD> 
               <BBB/> 
               <BBB/> 
               <EEE/> 
               <FFF/> 
          </DDD> 
     </CCC> 
     <CCC> 
          <BBB> 
               <BBB> 
                    <BBB/> 
               </BBB> 
          </BBB> 
     </CCC> 
   </AAA>

     选择所有元素  语法://*

   <AAA> 
     <BBB/> 
     <BBB/> 
     <BBB/> 
     <BBB/> 
   </AAA>

     2、“@*”匹配任何属性的节点,not(@*)匹配没有任何属性的节点。这里Xpath学习:基本语法(一)有例子。

     3、“|”是多个路径选择的并集,可以利用“|”查找符合多个条件的节点。

     获取所有的BBB元素和EEE元素  语法://BBB|//EEE

  <AAA> 
      <XXX> 
          <DDD> 
               <BBB/> 
               <BBB/> 
               <EEE/> 
               <FFF/> 
          </DDD> 
     </XXX> 
     <CCC> 
          <DDD> 
               <BBB/> 
               <BBB/> 
               <EEE/> 
               <FFF/> 
          </DDD> 
     </CCC> 
     <CCC> 
          <BBB> 
               <BBB> 
                    <BBB/> 
               </BBB> 
          </BBB> 
     </CCC> 
</AAA>

  获取AAA下XXX下的DDD的BBB元素和EEE元素  语法:/AAA/XXX/DDD/BBB|/AAA/XXX/DDD/EEE

<AAA> 
     <XXX> 
          <DDD> 
               <BBB/> 
               <BBB/> 
               <EEE/> 
               <FFF/> 
          </DDD> 
     </XXX> 
     <CCC> 
          <DDD> 
               <BBB/> 
               <BBB/> 
               <EEE/> 
               <FFF/> 
          </DDD> 
     </CCC> 
     <CCC> 
          <BBB> 
               <BBB> 
                    <BBB/> 
               </BBB> 
          </BBB> 
     </CCC> 
</AAA>

 

   到此,基本介绍XPath的基本语法(选取节点,谓语,选取未知节点和选取若干节点),接下来学习XPath的轴。

posted @ 2009-09-10 00:04  Asharp  阅读(3753)  评论(0编辑  收藏  举报