Xpath基础语法介绍

408 阅读2分钟

什么是XPath

XPath是一种查询XML和HTML文档的语言。使用XPath,您可以定位、搜索和提取文档中的特定元素。

考虑以下HTML文档示例:

<!DOCTYPE html>
<html>
  <head>
    <title>Example Document</title>
  </head>
  <body>
    <h1>Heading 1</h1>
    <div>
      <h2>Subheading 1</h2>
      <p>Paragraph 1</p>
      <p>Paragraph 2</p>
    </div>
    <div>
      <h2>Subheading 2</h2>
      <p>Paragraph 3</p>
      <p>Paragraph 4</p>
    </div>
  </body>
</html>

注意事项

在使用Xpath 的时候

尽量不要使用绝对路径

尽量减少路径级别

尽量不要使用下标

尽量简洁写法

XPath表达式

XPath表达式是用于选择文档中元素的一组地址属性。XPath基于路径表达式和查询文档中的元素。XPath表达式可以是:

  • 绝对路径:从文档根开始,指向元素的完整路径
  • 相对路径:元素之间关系的路径

以下是XPath表达式中的一些基本术语:

  • 元素:文档中包含内容的任何元素
  • 轴:文档中元素间关系的方向
  • 谓词:附加元素限制的一个条件,例如"第一个"或"最后一个"元素

选择元素

XPath用于选择元素的路径表达式有以下几种方式:

元素名称

XPath使用元素名称来选择元素。在上面的示例中,要选择标题元素,可以使用如下表达式:

//title

斜杠运算符

XPath还可以使用斜杠运算符(/)来选择直接子元素。如下表达式将选择文档中的正文元素:

/html/body

带有谓词的元素

XPath使用方括号中的条件来设置谓词。如下表达式将选择第一个段落元素:

//p[1]

通配符

XPath使用通配符(*)来选择文档中的所有元素。如下表达式将选择文档中的所有段落元素:

//*

多个元素名称

XPath使用 |操作符选择多个元素。如下表达式将选择所有段落和标题元素:

//p | //h1 | //h2

选择元素属性

XPath可以选择元素属性,如下所示:

//div[@class='example']

在这个示例中,XPath将选择具有class属性值为'example'的div元素。

选择复杂文档结构

在更复杂的文档中,XPath表达式也可以很好地工作。例如,以下表达式将选择具有class属性值为'example'的第一个段落元素:

//p[@class='example'][1]

结论

XPath是一种功能强大的语言,用于选择XML或HTML文档中的元素。本文提供了XPath语法的详细介绍。希望能对你有所帮助.