美文网首页
xpath 定位轴运算

xpath 定位轴运算

作者: 足__迹 | 来源:发表于2019-05-27 16:40 被阅读0次

    轴可定义相对于当前节点的节点集。
    ancestor 选取当前节点的所有先辈(父、祖父等)。
    ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身
    attribute(属性) 选取当前节点的所有属性
    child 选取当前节点的所有子元素
    descendant 选取当前节点的所有后代元素(子、孙等)
    descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身
    following 选取文档中当前节点的结束标签之后的所有节点。
    parent 选取当前节点的父节点。
    preceding 选取文档中当前节点的开始标签之前的所有节点
    preceding-sibling 选取当前节点之前的所有同级节点。
    self 选取当前节点

    位置路径表达式

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

    实例 轴名称::节点测试[谓语]
    child::book 选取所有属于当前节点的子元素的 book 节点。
    attribute::lang 选取当前节点的 lang 属性。
    child::* 选取当前节点的所有子元素。
    attribute::* 选取当前节点的所有属性。
    child::text() 选取当前节点的所有文本子节点。
    child::node() 选取当前节点的所有子节点。
    descendant::book 选取当前节点的所有 book 后代。
    ancestor::book 选择当前节点的所有 book 先辈。
    ancestor-or-self::book 选取当前节点的所有 book 先辈以及当前节点(如果此节点是 book 节点)
    child::*/child::price 选取当前节点的所有 price 孙节点。

    练习百度界面:百度输入框

    子节点: child
    //span[@class = 'btn_wr s_btn_wr bg']/child::input

    当前节点的属性:attribute
    //input/attribute::id

    选取文本子节点
    //div[@id="u_sp"]/child::text()

    选取当前节点的所有子节点
    //div[@id="u_sp"]/child::node()

    后代节点:descendant
    //*[@id="form"]/descendant::input[@type='text']

    相关文章

      网友评论

          本文标题:xpath 定位轴运算

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