参考资料

  1. xpath定位方法有哪些
  2. XPath 选取未知节点
  3. xpath路径如何查找
  4. XPath 轴(Axes)
  5. 正则表达式语法速查
  6. XPath 有七种类型的节点
  7. XPath 使用路径表达式在 XML 文档中选取节点
  8. XPath 节点关系

XPath路径查找详解

  1. 基本概念

  • XML路径语言(XML Path Language)

  • 用于在XML/HTML文档中导航和选择节点

  1. 基本语法
    / 从根节点开始选择
    // 从当前节点选择文档中的节点
    . 选择当前节点
    .. 选择父节点
    @ 选择属性

  2. 节点选择

  • 元素节点:elementname

  • 属性节点:@attribute

  • 文本节点:text()

  • 所有节点:node()

  1. 谓语条件
    [表达式] 用于过滤节点
    例如://div[@class='content']

  2. 常用轴
    child:: 子节点
    parent:: 父节点
    ancestor:: 祖先节点
    descendant:: 后代节点
    following-sibling:: 后续同级节点
    preceding-sibling:: 前驱同级节点

  3. 运算符
    | 联合多个路径
    = 等于
    != 不等于
    <, >, <=, >= 比较
    and, or 逻辑运算

  4. 函数
    contains() 包含特定字符串
    starts-with() 以特定字符串开头
    normalize-space() 去除空白
    count() 计数
    last() 最后一个节点
    position() 位置

  5. 示例
    (1) 选择所有div元素://div
    (2) 选择id为main的元素://[@id='main']
    (3) 选择class包含nav的元素://
    [contains(@class,'nav')]
    (4) 选择第一个p元素://p[1]
    (5) 选择有href属性的a元素://a[@href]
    (6) 选择父元素是div的span://div/span
    (7) 选择表格中第二行的第三个单元格://tr[2]/td[3]