zoukankan      html  css  js  c++  java
  • Xpath(一)

    /                             绝对路径,从根元素开始
    //                           相对路径,递归查找所有子孙
    .                             当前层

    ..                           上一层
    *                           通配符,表示任意


    一个元素是一个单独的个体,它有属性,有内容值

    []                          谓语,里面跟的是条件
                                条件支持算数运算+-*/><

                                条件支持逻辑运算 and or
    text()                    取文本值用,不加@因为它是个函数


    常用函数:

    contains                包含,写法是括号加两个入参contains(a,b)a包含b
    text()                   是取文本值,也可以当做一个查询条件
    last()                    取末尾

    last()-1                 倒数第二
    starts-with()         表示以XX开头,写法是括号加两个入参
    not()                    表示否定,把内容全包进去not(contains(a,b))a不包含b

    练习:

    地址:http://www.w3school.com.cn/example/xmle/books.xml

    1.选取 书店里 所有书的详细信息
    //book
    2.选取 所有书的标题,所有书的分类签
    选取 所有书的标题//book/title/text()
    所有书的分类签//book/@category
    3.选取 第一本书的定价
    //book[1]/price[text()]
    4.选取 最后一本书的作者
    //book[last()]/author/text()
    5.选取 倒数第二本书的 分类标签
    //book[last()-1]/@category
    6.选取 定价高于35的书的标题
    //book/price[text()>35]/../title/text()
    7.选取 定价在30到40之间的书的标题
    //book/price[text()>30 and text()<40]/../title/text()
    8.选取 作者多于一个的书的标题
    //book[count(author)>1]/title/text()
    9.选取 作者多于一个的书 只列出所有作者名
    //book[count(author)>1]/author
    10.选取 分类是web 且价格低于40的书
    //book[@category='web']/price[text()<40]/..
    11.选取 标题名称包含X的 所有书的定价
    //book/title[(contains(text(),'X'))]/../price/text()
    12.选取 分类是web 且作者不包括James的 作者名
    //book[@category='web']/author[not(contains(text(),'James'))]/text()

  • 相关阅读:
    拷贝构造,移动构造,右值引用,左值,右值,std::move,std::forward,std::ref
    枚举类型 enum以及enum class
    C++ 静态库LIB的使用方法
    array(数组容器)
    C++标准模板库STL
    C++ 动态库DLL的使用方法
    函数指针与回调函数
    VS项目属性等一系列问题
    逻辑运算符(且或非),位运算符(异或),函数对象运算(bit_or)
    pinpoint-grpc编译异常问题记录
  • 原文地址:https://www.cnblogs.com/xiaowei89426/p/5632527.html
Copyright © 2011-2022 走看看