Java XPath解析器 - Java XML教程

XPath是万维网联盟(W3C)的官方推荐。它定义了一个语言在XML文件中查找信息。它被用于遍历XML文档的元素和属性。 XPath提供各种类型,可用于从XML文档查询相关的信息表现形式。

什么是XPath?

  • 结构定义 - XPath定义像元素,属性,文本,命名空间,处理指令,注释和文档节点的XML文档部分

  • 路径表达式 - XPath提供了强大的路径表达式选择的节点或在XML文档中的节点列表。

  • 标准功能 - XPath提供了丰富的标准函数库操纵字符串值,数值,日期和时间比较,节操作,顺序操作,布尔值等。

  • XSLT重要组成部分 - XPath是在XSLT标准的主要元素之一,是必须有知识,以便使用XSLT的文档。

  • W3C推荐 - XPath是万维网联盟(W3C)的官方推荐。

这里是我们需要分析输入文本文件:

<?xml version="1.0"?>
<class>
   <student rollno="393">
      <firstname>dinkar</firstname>
      <lastname>kad</lastname>
      <nickname>dinkar</nickname>
      <marks>85</marks>
   </student>
   <student rollno="493">
      <firstname>Vaneet</firstname>
      <lastname>Gupta</lastname>
      <nickname>vinni</nickname>
      <marks>95</marks>
   </student>
   <student rollno="593">
      <firstname>jasvir</firstname>
      <lastname>singn</lastname>
      <nickname>jazz</nickname>
      <marks>90</marks>
   </student>
</class>

XPath表达式

XPath使用路径表达式从XML文档中选择一个或多个节点的列表。以下是有用的路径和表达,从XML文档选择节点的任何节点/列表清单。

表达式 描述
node-name 选择具有给定名称的所有节点“nodename”
/ 选择从根节点开始
// 选择从当前节点匹配开始的选择
. 选择当前节点
.. 选择当前节点的父节点
@ 选择属性
student 例如:选择名称为“student”的所有节点
class/student 例如:选择属于类的所有学生的子类元素
//student 选择文档中所有学生的元素

谓词

谓词用于查找特定的节点或一个节点含有特定的值,并使用所定义 [...] .

表达式 结果
/class/student[1] 选择的是类元素的子第一个学生的元素
/class/student[last()] 选择的是类元素的子最后一个学生的元素
/class/student[last()-1] 选择的是类元素倒数的第二个学生的子元素
//student[@rollno='493'] 选择一个名为rollno为'493'值的属性的学生元素