📜  Java XPath分析器-概述

📅  最后修改于: 2020-11-14 10:30:25             🧑  作者: Mango


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

Sr.No. Expression & Description
1

node-name

Select all nodes with the given name "nodename"

2

/

Selection starts from the root node

3

//

Selection starts from the current node that match the selection

4

.

Selects the current node

5

..

Selects the parent of the current node

6

@

Selects attributes

7

student

Example − Selects all nodes with the name "student"

8

class/student

Example − Selects all student elements that are children of class

9

//student

Selects all student elements no matter where they are in the document

谓词

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

Expression Result
/class/student[1] Selects the first student element that is the child of the class element.
/class/student[last()] Selects the last student element that is the child of the class element.
/class/student[last()-1] Selects the last but one student element that is the child of the class element.
//student[@rollno = '493'] Selects all the student elements that have an attribute named rollno with a value of '493'