美文网首页
Xpath语法

Xpath语法

作者: Devil灬 | 来源:发表于2019-04-11 20:49 被阅读0次

    一、安装lxml库

    pip install lxml

    二、选取节点

    表达式 功能
    / 匹配元素子节点
    // 匹配元素子孙节点
    . 获取当前节点
    .. 获取当前节点的父节点
    @ 获取属性
    * 匹配任何元素节点
    @* 匹配任何属性节点

    三、谓语

    表达式 功能
    /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'] 选取拥有值为 eng 的 lang 属性的所有 title 元素
    /bookstore/book[price>35.00] 选取 bookstore 元素的所有 book 元素,且其中的 price 元素的值须大于 35.00。
    /bookstore/book[price>35.00]/title 选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。

    四、轴

    表达式 功能
    ancestor 选取当前节点的所有先辈(父、祖父等)。
    ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身。
    attribute 选取当前节点的所有属性。
    child 选取当前节点的所有子元素。
    descendant 选取当前节点的所有后代元素(子、孙等)。
    descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身。
    following 选取文档中当前节点的结束标签之后的所有节点。
    namespace 选取当前节点的所有命名空间节点。
    parent 选取当前节点的父节点。
    preceding 选取文档中当前节点的开始标签之前的所有节点。
    preceding-sibling 选取当前节点之前的所有同级节点。
    self 选取当前节点。

    五、步(step)

    语法:轴名称::节点测试[谓语]

    轴(axis):定义所选节点与当前节点之间的树关系
    节点测试(node-test):识别某个轴内部的节点
    零个或者更多谓语(predicate):更深入地提炼所选的节点集

    相关文章

      网友评论

          本文标题:Xpath语法

          本文链接:https://www.haomeiwen.com/subject/dmzmeqtx.html