zoukankan      html  css  js  c++  java
  • XPath学习:轴(14)——总结

    原文地址:http://www.cnblogs.com/zhaozhan/archive/2009/09/10/1564396.html   

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

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

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

         XPath轴(XPath Axes)可定义某个相对于当前节点的节点集:

         1、child  选取当前节点的所有子元素

         2、parent  选取当前节点的父节点

         3、descendant 选取当前节点的所有后代元素(子、孙等)

         4、ancestor  选取当前节点的所有先辈(父、祖父等)

         5、descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身

         6、ancestor-or-self  选取当前节点的所有先辈(父、祖父等)以及当前节点本身

         7、preceding-sibling 选取当前节点之前的所有同级节点

         8、following-sibling 选取当前节点之后的所有同级节点

         9、preceding   选取文档中当前节点的开始标签之前的所有节点

         10、following   选取文档中当前节点的结束标签之后的所有节点

         11、self 选取当前节点

         12、attribute  选取当前节点的所有属性

         13、namespace 选取当前节点的所有命名空间节点

         XPath轴指定上下文的节点和要选择节点的关系。ancestor, descendant, following, preceding 和self轴(axis)分割了XML文档(忽略属性节点和命名空间节点), 不能交迭,

         

        //GGG/ancestor::*  

      <AAA>  
         <BBB>  
              <CCC/>  
              <ZZZ/>  
         </BBB>  
         <XXX>  
              <DDD>  
                   <EEE/>  
                   <FFF>  
                        <HHH/>  
                        <GGG>  
                             <JJJ>  
                                  <QQQ/>  
                             </JJJ>  
                             <JJJ/>  
                        </GGG>  
                        <HHH/>  
                   </FFF>  
              </DDD>  
         </XXX>  
         <CCC>  
              <DDD/>  
         </CCC>  
      </AAA>

       //GGG/descendant::*

    <AAA>  
         <BBB>  
              <CCC/>  
              <ZZZ/>  
         </BBB>  
         <XXX>  
              <DDD>  
                   <EEE/>  
                   <FFF>  
                        <HHH/>  
                        <GGG>  
                             <JJJ>  
                                  <QQQ/>  
                             </JJJ>  
                             <JJJ/>  
                        </GGG>  
                        <HHH/>  
                   </FFF>  
              </DDD>  
         </XXX>  
         <CCC>  
              <DDD/>  
         </CCC>  
       </AAA>

        //GGG/preceding::*

      <AAA>  
         <BBB>  
              <CCC/>  
              <ZZZ/>  
         </BBB>  
         <XXX>  
              <DDD>  
                   <EEE/>  
                   <FFF>  
                        <HHH/>  
                        <GGG>  
                             <JJJ>  
                                  <QQQ/>  
                             </JJJ>  
                             <JJJ/>  
                        </GGG>  
                        <HHH/>  
                   </FFF>  
              </DDD>  
         </XXX>  
         <CCC>  
              <DDD/>  
         </CCC>  
      </AAA>

       //GGG/following::*

    <AAA>  
         <BBB>  
              <CCC/>  
              <ZZZ/>  
         </BBB>  
         <XXX>  
              <DDD>  
                   <EEE/>  
                   <FFF>  
                        <HHH/>  
                        <GGG>  
                             <JJJ>  
                                  <QQQ/>  
                             </JJJ>  
                             <JJJ/>  
                        </GGG>  
                        <HHH/>  
                   </FFF>  
              </DDD>  
         </XXX>  
         <CCC>  
              <DDD/>  
         </CCC>  
      </AAA>

        //GGG/self::*

      <AAA>  
         <BBB>  
              <CCC/>  
              <ZZZ/>  
         </BBB>  
         <XXX>  
              <DDD>  
                   <EEE/>  
                   <FFF>  
                        <HHH/>  
                        <GGG>  
                             <JJJ>  
                                  <QQQ/>  
                             </JJJ>  
                             <JJJ/>  
                        </GGG>  
                        <HHH/>  
                   </FFF>  
              </DDD>  
         </XXX>  
         <CCC>  
              <DDD/>  
         </CCC>  
       </AAA>

        //GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

      <AAA>  
         <BBB>  
              <CCC/>  
              <ZZZ/>  
         </BBB>  
         <XXX>  
              <DDD>  
                   <EEE/>  
                   <FFF>  
                        <HHH/>  
                        <GGG>  
                             <JJJ>  
                                  <QQQ/>  
                             </JJJ>  
                             <JJJ/>  
                        </GGG>  
                        <HHH/>  
                   </FFF>  
              </DDD>  
         </XXX>  
         <CCC>  
              <DDD/>  
         </CCC>  
       </AAA>

  • 相关阅读:
    K210识别水果模型
    一键开关机短路
    Arudino IDE添加STM32官方管理器stm32duino / Arduino_Core_STM32
    ESP32 Ble
    Blynk软件配置及Mixly编程教程
    Laravel安装及配置,完成基础的demo
    electron下载/打包慢?解决办法.....
    ESP32+PHP+MYSQL 搭建自己的物联网平台Demo
    PCA9536读写测试之MicroPython
    MSF实验2
  • 原文地址:https://www.cnblogs.com/lixiuran/p/4050179.html
Copyright © 2011-2022 走看看