在 XPath 中,有绝对路径和相对路径之分。
一、绝对路径
1. 定义:
• 绝对路径从文档的根节点开始,通过依次指定每个层级的节点来定位目标节点。
2. 表示方法:
• 以 / 开头,后面依次跟随各个层级的节点名称。例如 /html/body/div/p 表示从根节点 <html> 开始,依次找到 <body>、<div> 和 <p> 节点。
3. 特点:
• 绝对路径非常明确,能准确地定位到特定的节点,但它对文档结构的依赖性很强。如果文档结构发生变化,即使是很小的变化,比如在路径中的某个节点前增加了一个新的节点,都可能导致绝对路径失效。
二、相对路径
1. 定义:
• 相对路径是相对于当前上下文节点来定位目标节点的路径表达式。
2. 表示方法:
• 不以 / 开头。例如 .//p 表示在当前节点下查找所有的 <p> 节点;../div 表示在当前节点的父节点下查找 <div> 节点。
3. 特点:
• 相对路径更加灵活,对文档结构的变化有一定的适应性。因为它是基于当前上下文进行定位,只要上下文相对稳定,路径就可能仍然有效。而且在不同的部分使用相对路径,可以更方便地进行局部的节点查找,而不需要考虑整个文档的结构。