在 XPath 中,'//*'、'//' 和 '/' 有着不同的含义和用途:
一、'/'(单斜杠)
- 用法说明:
- 表示从根节点开始选择直接子节点。
- 例如,'/html/body/div' 会从根节点开始,选择直接子节点
<html>
,然后在<html>
下选择直接子节点<body>
,接着在<body>
下选择直接子节点<div>
。
- 特点:
- 路径是严格层次化的,必须按照精确的父子关系进行选择。
- 每次只选择一层的直接子节点。
二、'//'(双斜杠)
- 用法说明:
- 表示在文档中选择任意位置的节点,无论其在文档层次结构中的深度如何。
- 例如,'//div' 会在整个文档中查找所有的
<div>
元素,无论它们在文档的哪个层次。
- 特点:
- 非常灵活,可以跨越多个层次进行选择。
- 可以快速定位到特定类型的节点,而不需要知道它们的确切位置。
三、'//*'(双斜杠加星号)
- 用法说明:
- 表示在文档中选择任意位置的任何元素节点。
- 类似于 '//',但它会匹配所有的元素节点,而不是特定类型的节点。
- 例如,'//*' 会选择文档中的所有元素,无论它们是什么类型。
- 特点:
- 是一种非常通用的选择方式,可以获取文档中的所有元素,以便进行进一步的筛选和处理。
- 通常在不确定文档结构或需要遍历整个文档时使用。