zoukankan      html  css  js  c++  java
  • XPath基础语法(1)

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

    Xpath是一种能够在XML文档中寻找信息的语言。它通过XML文档中的元素和属性来进行导航。

    1. "/"

    /AAA:
         <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <BBB/>
              <DDD>
                   <BBB/> 
              <DDD>
              <CCC/> 
         <AAA>


    /AAA/CCC:
    <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <BBB/>
              <DDD>
                   <BBB/> 
              <DDD>
              <CCC/> 
         <AAA>

     /AAA/DDD/BBB:

     <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <BBB/>
              <DDD>
                   <BBB/> 
              <DDD>
              <CCC/> 
         <AAA>

    2. "//"

     //BBB

     <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <DDD>
                   <BBB/>
              <DDD>
              <CCC>
                   <DDD>
                        <BBB/>
                        <BBB/>
                   <DDD>
              <CCC>
         <AAA>

     //DDD/BBB

        <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <DDD>
                   <BBB/>
              DDD>
              <CCC>
                   <DDD>
                        <BBB/>
                        <BBB/>
                   <DDD>
              <CCC>
         <AAA>

    3. "*":

     /AAA/CCC/DDD*/*/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>
              <XXX>
                   <DDD>
                        <BBB/>
                        <BBB/>
                        <EEE/>
                        <FFF/>
                   DDD>
              XXX>
              <CCC>
                   <DDD>
                        <BBB/>
                        <BBB/>
                        <EEE/>
                        <FFF/>
                   DDD>
              CCC> 
         AAA>

    4. [1] , last()

    /AAA/BBB[1]

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

    /AAA/BBB[last()]

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

    5. "@" :

    //@id

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         AAA>

    //BBB[@id]

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         AAA>

    //BBB[@name]

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         AAA>

    //BBB[@*]

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         AAA>

    //BBB[not(@*)]

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         AAA>

    //BBB[@id='b1']

         <AAA>
              <BBB id = "b1"/>
              <BBB name = " bbb "/>
              <BBB name = "bbb"/>
         AAA>

    //BBB[@name='bbb']

         <AAA>
              <BBB id = "b1"/>
              <BBB name = " bbb "/>
              <BBB name = "bbb"/>
         AAA>

    //BBB[normalize-space(@name)='bbb']

         <AAA>
              <BBB id = "b1"/>
              <BBB name = "     bbb "/>
              <BBB name = "bbb"/>
         AAA>

    6. count() :

    //*[count(BBB)=2]

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

    //*[count(*)=2]

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

    //*[count(*)=3]

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

  • 相关阅读:
    偷窃转基因玉米种子引发中美打农业官司
    关于PreferenceActivity的使用和一些问题的解决(自己定义Title和取值)
    大写中文数字-財务
    【leetcode】LRU
    【AC大牛陈鸿的ACM总结贴】【ID AekdyCoin】人家当初也一样是菜鸟
    android面试题 不单单为了面试也是一次非常好的学习
    存储系统的实现-探析存储的机制和原理
    unity3d脚本编程
    ubuntu12.04 安装配置jdk1.7
    Android中一个类实现的接口数不能超过七个
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912521.html
Copyright © 2011-2022 走看看