当前位置: 首页 > 文档资料 > Java XML 中文文档 >

Java XPath Parser(Java XPath Parser)

优质
小牛编辑
130浏览
2023-12-01

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

什么是XPath?

  • Structure Definations - XPath定义XML文档的各个部分,如元素,属性,文本,命名空间,处理指令,注释和文档节点。

  • Path Expressions - XPath提供强大的路径表达式,例如XML文档中的选择节点或节点列表。

  • Standard Functions - XPath提供了丰富的标准函数库,用于处理字符串值,数值,日期和时间比较,节点和QName操作,序列操作,布尔值等。

  • Major part of XSLT - XPath是XSLT标准中的主要元素之一,并且必须具备足够的XPath知识才能使用XSLT文档。

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

<!--

Here is the input text file we need to parse:

<?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文档中选择任何节点/节点列表。

Sr.No.表达和描述
1

node-name

选择具有给定名称“nodename”的所有节点

2

/

选择从根节点开始

3

//

选择从与选择匹配的当前节点开始

4

.

选择当前节点

5

..

选择当前节点的父节点

6

@

选择属性

7

student

Example - 选择名为“student”的所有节点

8

class/student

Example - 选择作为类的子项的所有学生元素

9

//student

选择所有学生元素,无论他们在文档中的位置

谓词(Predicates)

谓词用于查找特定节点或包含特定值的节点,并使用[...]定义。

表达结果
/class/student[1]选择第一个学生元素,该元素是class元素的子元素。
/class/student[last()]选择作为class元素的子元素的最后一个student元素。
/class/student[last()-1]选择作为class元素的子元素的最后一个student元素。
//student[@rollno = '493']选择具有名为rollno的属性且值为“493”的所有学生元素