Java XPath 解析器 - 概述



XPath 是一种 XML 路径语言,用于在 XML 文件中查找信息。它是万维网联盟 (W3C) 的正式推荐。它用于遍历 XML 文档的元素和属性。XPath 提供各种类型的表达式,可用于从 XML 文档中查询相关信息,主要用于 XSLT 标准。

XPath 术语

  • 结构定义 - XPath 定义了 XML 文档的各个部分,如元素、属性、文本、命名空间、处理指令、注释和文档节点。
  • 路径表达式 - XPath 提供强大的路径表达式,例如选择 XML 文档中的节点或节点列表。
  • 标准函数 - XPath 提供丰富的标准函数库,用于操作字符串值、数值、日期和时间比较、节点和 QName 操作、序列操作、布尔值等。
  • - XPath 有 13 种不同的轴,用于检索当前元素的相对元素,例如祖先、子元素、后代、前驱、后继等。

XPath 表达式

XPath 使用路径表达式从 XML 文档中选择节点或节点列表。以下是用于从 XML 文档中选择任何节点/节点列表的一些有用的路径表达式。

表达式 描述

节点名称

选择所有具有给定“节点名称”的节点
/ 选择从根节点开始
// 选择从与选择匹配的当前节点开始
. 选择当前节点

..

选择当前节点的父节点

@

选择属性
学生 选择所有名称为“学生”的节点
班级/学生 选择作为班级子元素的所有学生元素
//学生 选择所有学生元素,无论它们在文档中的哪个位置

带谓词的表达式

XPath 表达式可以与谓词一起使用以获取特定节点或包含特定值的节点,并使用 [... ] 定义。

表达式 结果
/班级/学生[1] 选择作为班级元素子元素的第一个学生元素。
/班级/学生[last()] 选择作为班级元素子元素的最后一个学生元素。
/班级/学生[last()-1] 选择作为班级元素子元素的倒数第二个学生元素。
//学生[@rollno = '493'] 选择所有名为 rollno 的属性值为 '493' 的学生元素。
广告