Java XPath解析器 介绍
精华
小牛编辑
144浏览
2023-03-14
什么是XPath
XPath 是万维网联盟 (W3C) 的官方推荐。它定义了一种在 XML 文件中查找信息的语言。它用于遍历 XML 文档的元素和属性。XPath 提供了多种类型的表达式,可用于从 XML 文档中查询相关信息。
XPath的优势
-
结构定义: XPath 定义 XML 文档的部分,如元素、属性、文本、名称空间、处理指令、注释和文档节点。
-
路径表达式: XPath 提供强大的路径表达式,例如 XML 文档中的选择节点或节点列表。
-
标准函数: XPath 提供了丰富的标准函数库,用于操作字符串值、数值、日期和时间比较、节点和 QName 操作、序列操作、布尔值等。
-
XSLT 的主要部分:XPath 是 XSLT 标准中的主要元素之一,必须对 XPath 有足够的了解才能使用 XSLT 文档。
-
W3C 推荐: XPath 是万维网联盟 (W3C) 的官方推荐。
XPath 路径表达式
XPath 使用路径表达式从 XML 文档中选择节点或节点列表。以下是从 XML 文档中选择任何节点/节点列表的有用路径和表达式列表。
路径表达式 | 描述 |
---|---|
node-name | 选择具有给定名称“nodename”的所有节点 |
/ | 选择从根节点开始 |
// | 选择从与选择匹配的当前节点开始 |
. | 选择当前节点 |
.. | 选择当前节点的父节点 |
@ | 选择属性 |
student | 示例: 选择名称为“student”的所有节点 |
class/student | 示例: 选择作为班级孩子的所有学生元素 |
//student | 选择所有学生元素,无论它们在文档中的什么位置 |
Predicates
Predicates用于查找特定节点或包含特定值的节点,并使用 [...] 定义。
路径表达式 | 描述 |
---|---|
/class/student[1] | 选择作为 class 元素的子元素的第一个 student 元素。 |
/class/student[last()] | 选择作为 class 元素的子元素的最后一个 student 元素。 |
/class/student[last()-1] | 选择作为 class 元素的子元素的最后一个学生元素。 |
//student[@rollno = '493'] | 选择所有具有名为 rollno 且值为“493”的属性的 student 元素 |