XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。
XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。
因此,对 XPath 的理解是很多高级 XML 应用的基础。XPath就是用来检索XML的。
XPath 节点
在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。
XPath 术语
节点(Node)
在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。
请看下面这个 XML 文档:
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
上面的XML文档中的节点例子:
<bookstore> (文档节点) <author>J K. Rowling</author> (元素节点) lang="en" (属性节点)
基本值(或称原子值,Atomic value)
基本值是无父或无子的节点。
基本值的例子:
J K. Rowling "en"
项目(Item)
项目是基本值或者节点。
节点关系
父(Parent)
每个元素以及属性都有一个父。
在下面的例子中,book 元素是 title、author、year 以及 price 元素的父:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
子(Children)
元素节点可有零个、一个或多个子。
在下面的例子中,title、author、year 以及 price 元素都是 book 元素的子:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
同胞(Sibling)
拥有相同的父的节点
在下面的例子中,title、author、year 以及 price 元素都是同胞:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
先辈(Ancestor)
某节点的父、父的父,等等。
在下面的例子中,title 元素的先辈是 book 元素和 bookstore 元素:
<bookstore> <book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
后代(Descendant)
某个节点的子,子的子,等等。
在下面的例子中,bookstore 的后代是 book、title、author、year 以及 price 元素:
<bookstore> <book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
相关推荐
了解XPath节点类型对于正确使用XPath表达式至关重要。XPath定义了七种节点类型,每种类型都有其特定的用途和特性: 1. **根节点(RootNode)**:根节点是XML文档树的起点,它是唯一的。所有其他节点都是其子节点或...
在Java编程中,JDOM库是一个流行的解析和操作XML的工具,它提供了对XPath的支持,使得我们可以方便地通过XPath表达式来读取XML文档的节点。 首先,理解XPath的基本语法是非常重要的。XPath表达式由路径表达式组成,...
XPath的主要组成部分包括路径表达式、轴、节点测试和谓语。路径表达式是XPath中最基本的概念,用于描述节点间的层级关系。例如,“/”表示根节点,“//”表示任何层级的子节点,“.”表示当前节点,“..”表示父节点...
XPath(XML Path Language)是一种在XML文档中查找信息的语言,它允许用户查询XML文档中的节点和节点集合。XPath广泛应用于XSLT和XQuery等技术中,以及各种编程语言中的XML处理库。学习XPath的基础知识,包括数据...
`string()`函数是XPath中用于获取节点文本内容的一个非常实用的方法。当你对一个节点集应用`string()`函数时,它会返回该节点集中第一个节点的字符串值。如果节点集为空,那么返回空字符串。在处理子标签下所有文本...
5. **选择符和函数**:XPath提供了丰富的选择符和函数来进一步过滤和操作节点集。例如,`[条件表达式]`可以用来选取满足特定条件的节点,`text()`函数则用于选取节点的文本内容。 6. **数字和字符串操作**:XPath...
在本篇(part10)中,我们将深入探讨XPath中的节点集、谓词、并运算以及与函数的使用。 首先,节点集是XPath中一个重要的概念,它是一组由XPath表达式选取的节点。例如,`/html//li` 将选取HTML文档中所有的`<li>`...
这些函数用于字符串值、数值、日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。 XPath 在 XSLT 中的应用是非常广泛的,XPath 是 XSLT 标准中的主要元素。如果没有 XPath 方面的知识,您就无法创建 XSLT ...
#### XPath节点类型 在XPath中,识别以下七种节点类型: 1. **元素节点**:表示XML文档中的标签,如`<book>`。 2. **属性节点**:附加在元素上的键值对,如`lang="en"`。 3. **文本节点**:位于元素之间的纯文本,如...
本文将深入讲解XPath的基础用法,包括XPath的简介、教程、Axes、节点类型、实例、语法以及运算符。 1. **XPath简介** XPath是W3C标准的一部分,它的主要目的是为了提供一种简洁且相对独立的方式来定位XML文档中的...
XPath 函数是指 XPath 中的标准函数库,包括了字符串值、数值、日期和时间比较、节点和 QName 处理、序列处理、逻辑值等方面的函数。XPath 函数库共有超过 100 个内建函数。 XPath 在 XSLT 中的应用是指 XPath 是 ...
XPath的基本概念包括节点、轴、节点测试和谓语。节点是XML文档的构成元素,如元素节点、属性节点、文本节点等。轴定义了从当前节点到其他节点的关系,如子节点轴(child::)、父节点轴(parent::)、祖先节点轴...
项目中的`remi.txt`可能包含了生成器的使用说明、开发者注释或源代码的一部分,而`XpathTest`可能是一个测试用例或测试脚本,用于检验XPath生成器的功能和性能。 XPath在开发中有着广泛的应用,例如网页抓取、XML...
- **节点类型**:XPath处理的节点包括元素(Element)、属性(Attribute)、文本(Text)、命名空间(Namespace)、处理指令(Processing Instruction)、注释(Comment)和文档(Document)节点。 - **路径表达式...
XPath是XML文档遍历和查询的强大工具,它允许开发者通过路径表达式来选取XML文档中的节点。在处理具有命名空间的XML文档时,XPath的使用会变得稍微复杂,因为命名空间为元素和属性提供了唯一的标识,防止了名称冲突...
本工具是一款自主研发的XPath测试应用,它简化了XPath查询的测试过程,允许用户直接输入XPath表达式,实时查看匹配到的XML节点和内容。虽然当前版本并未公开源码,但开发者承诺后续会上传源码,这为其他开发者提供了...
在Java开发中,DOM4J和XPath是两个重要的XML处理工具。XML(eXtensible Markup Language)是一种标记语言,广泛用于数据交换、配置文件和文档结构化存储。DOM4J和XPath则提供了方便的方式来解析、操作和检索XML文档...
这涉及到对DOM树的遍历和XPath语法的理解,包括路径、轴、节点测试和谓语等。 4. **用户交互**:为了方便用户,小工具通常会提供一个文本框显示所选元素的XPath路径,并可能有复制、保存等功能。此外,可能还会包含...
- 节点:XML文档由一系列的节点构成,如元素节点、属性节点、文本节点、注释节点和处理指令节点。 - 路径表达式:XPath通过路径表达式来定位这些节点。例如,“/html/body/p”表示选取HTML文档中的所有段落元素。 ...