zoukankan      html  css  js  c++  java
  • XPath

    XPath:路径表达式  

     

       xpath是一门在xml文档中查找信息的语言,xpath可用来

            在xml文档中对元素或属性进行遍历

       

       有了xpath就解决了逐层遍历

    xpath是用网络路径表达式在xml文档中进行导航(快速查找)

    xpath包含一个标准函数库

    xpath是xslt中的主要元素

    xpath是w3c标准

    路径表达式:

    -斜杠(/)作为路径的分隔符

    -导航到同样一个节点,有相对路径和绝对路径两种

      绝对路径:必须从"/"起始,后面紧跟节点

          比如:/list/employee

      相对路径:以当前路径作为起始点

          比如: employee/name  

    -"."表示当前节点

    -".."表示当前节点的父节点

    -nodename(节点名称):表示该节点的所有子节点

    -"/"  表示跟节点

    -"//" 表示选择任意位置的某个节点

    -"@"  表示选择某个属性

    以下面xml的文档为例:

    <?xml version="1.0" encoding="utf-8" ?>

    <bookstore>

    <book>

    <title lang="eng">harry potter</title>

    <price>39.9</price>

    </book>

    <book>

    <title lang="eng">learning XML</title>

    <price>59.9</price>

    </book>

    </bookstore>

    /bookstore  选取跟节点bookstore,这是绝对路径

    bookstore/book  选取所有属于bookstore的子元素book元素

                    相对路径

    //book  选取所有book子元素,而不管他们在文档中的位置

    bookstore//book  选取所有属于bookstore元素的后代的

                     book的元素

    而不管他们位于bookstore之下什么位置

    //@lang  选取所有名为lang的属性

    谓语:

       谓语条件,就是对路径表达式的附加条件

       所有的条件,都写在[]中,表示对节点的进一步筛选

     /bookstore/book[1] 表示选择bookstore的第一个book子元素

     /bookstore/book[last()] 表示bookstore的最后一个book子元素

     /bookstore/book[last()-1] 表示bookstore的倒数第二个book子元素

     /bookstore/book[position()<3] 表示选择bookstore的

                                  前两个book子元素

     //title[@lang] 表示选择所有具有lang属性的title节点

     //title[@lang='eng'] 表示所有具有lang属相,

                    且值等于eng的title节点

     //bookstore/book[price]  表示选择bookstore的book子元素

                    且被选中的book子元素必须带有price子元素

     /booksstore/book[price>35.0] 表示选择bookstore的

                    book子元素,且选中的book子元素的price

    的子元素值必须大于35.0

     /bookstore/book[price>35.0]/title

                    表示在上面的例子结果中选择title子元素

     /bookstore/book/price[.>35.0]

                    表示选择值大于35.0的/bookstore/book的

    price子元素

    通配符:

      *  表示匹配任何子元素

      @  表示匹配任何属性

      node()  表示匹配任何类型节点

      //*     选择文档中的所有元素节点

      /*/*    表示选择所有第二层的元素节点

      /bookstore/*   表示选择bookstore的所有子元素节点

      //title[@*]    表示选择所有带有属性的title元素

      

    要想使用xpath必须引入第三方的jar包

       jaxen-xx-xx.jar  

       

    使用xpath的api

     List SelectNodes(String xpath);

       根据xpath的参数获取xpath指定节点的信息

  • 相关阅读:
    JVM详解(十)——垃圾回收算法
    JVM详解(九)——StringTable
    JVM详解(八)——执行引擎
    JVM详解(七)——直接内存
    JVM详解(六)——对象的实例化、内存布局与访问定位
    JVM详解(五)——运行时数据区-方法区
    JVM详解(四)——运行时数据区-堆
    http发送url请求
    超简单超详细的redis安装教程
    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'bookID' not found. Available parameters are [param1, bookId]解决问题
  • 原文地址:https://www.cnblogs.com/songyao2018/p/8724751.html
Copyright © 2011-2022 走看看