zoukankan      html  css  js  c++  java
  • XPATH

    前言

    本文大致可以知道/,//,@,[]的用法,还有一些函数的用法

    正文

    假设有一个根元素school,一个子元素student,一个属性name和一个子元素age,一个子元素class

    语法

    • school —— 选取school元素的所有节点

    • /school —— 选取根元素school

    • //student —— 选取所有student元素,不管在哪一个位置

    • school/student —— 选取school的子元素student

    • school//student —— 选取school元素下的任意student元素

    • //@name —— 选取所有name属性

    • school/student[1] —— 选取school的第一个student子元素

    • school/student[last()] —— 选取school的最后一个student子元素

    • school/student[last()-1] —— 选取school的倒数第二个student子元素

    • school/student[position()❤️] —— 选取school的最前面两个student子元素

    • //student@[name] —— 选取所有拥有name属性的student元素

    • //student@[name='hf'] —— 选取所有拥有name属性且值为hf的student元素

    • /school/student[age>15] —— 选取school元素的所有含有age子元素且age子元素的值大于15的student元素

    • /school/student[age>15]/class —— 满足上一个条件的class元素

    通配符

      • —— 匹配任何元素节点
    • @* —— 匹配任何属性节点

    • node() —— 匹配任何类型的节点

    • /school/* —— 选取school元素的所有子节点

    • //* —— 选取文档中的所有元素

    • //student[@*] —— 选取所有带有属性的student元素

    使用方式轴名::元素或方法

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

    函数

    • text() —— 返回该元素的文本
    • substring()
    • position() —— 返回当前正在被处理的节点的 index 位置。
      例子:
    //book[position()<=3] 选择前三个 book 元素 
    
    • last() —— 返回最后一个
    • name() —— 返回当前节点的名称或指定节点集的第一个节点
    • count() —— 返回节点的数量

    参考链接

    http://www.w3school.com.cn/xpath/index.asp

  • 相关阅读:
    Uncaught TypeError: Cannot read property 'PRINT_INIT' of undefined user:100
    haproxy 负载elasticsearch 切换
    高德地图-展示多个信息窗口
    elasticsearh 中每个节点中需要有相同的插件
    haporxy 负载elasticsearch
    AngularJS之ng-if指令
    文件上传并展示上传文件
    json编解码
    Grok 正则捕获
    logstash date插件介绍
  • 原文地址:https://www.cnblogs.com/hf99/p/9742834.html
Copyright © 2011-2022 走看看