• xpath学习笔记


    符号
    . //表示当前节点
    .. //父节点
    / //根目录
    // //节点下的任意位置 高级应用:"ul//em" 表示ul节点下任意位置的em
    @ //含某属性的节点 //@title 那么 <li class='a' title='1'>满足 和其他组合在一起就报错
    | //a|b 选择a和b元素
    * //所有节点
    node() //所有节点 还包含里面的值 比如<i>1</i> 1也是一个对象元素 这是和*的不同之处
    text() //所有文字节点 node() 其实 比*多包含了 text()
    child::*/child::price //孙节点

    谓语
    [1] //第几个元素 div[1]第一个div元素
    [last()]
    [last()-1]
    [position()<n] //前n个元素 //li[position()<=2] 表示前2个元素
    [@attr] //含某属性的元素 //li[@class] 表示含class属性的li
    [@attr='attrVal'] //含某属性且属性值确定的元素 //li[@class='a']
    [nodename] //含指定子元素的元素 //*[em] 含em子元素的任意元素
    [nodename>n] //含指定子元素且子元素值大于固定值的元素 //*[i>2] html:<div><i>5</></div>
    [nodename>n]/nodename //上面一条中的子节点

    通配符
    contains //内容包含 em[contains(text(),'1')] 那么html:<em>123</em>满足
    starts-with //内容包含 em[starts-with(text(),'1')] 那么html:<em>123</em>满足
    descendant //所有后代 孙子 的孙子 也包含
    ancestor //所有的前辈


    其他
    //* //所有节点
    /*/* //所有位于第二层的节点

  • 相关阅读:
    Java String, StringBuffer和StringBuilder实例
    java中字符串的比较
    java中子类继承父类时是否继承构造函数
    Java中抽象类和接口的用法和区别
    与(&)、非(~)、或(|)、异或(^)
    Linux03
    Linux02
    Linux01
    力扣算法题
    算法 栈、队列、二分查找
  • 原文地址:https://www.cnblogs.com/hack0573/p/4244912.html
Copyright © 2020-2023  润新知