【1】 XPath 简介
1.、XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。 【2】 什么是 XPath? 1、XPath 使用路径表达式在 XML 文档中进行导航 2、XPath 包含一个标准函数库 3、XPath 是XSLT 中的主要元素 4、XPath 是一个W3C 标准 5、XPath 路径表达式 XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。 6、XPath 标准函数 XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值,日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。 7、XPath 在 XSLT 中使用 XPath 是 XSLT 标准中的主要元素。如果没有 XPath 方面的知识,您就无法创建 XSLT 文档。 XQuery 和XPointer 均构建于XPath 表达式之上。XQuery 1.0 和XPath 2.0 共享相同的数据模型,并支持相同的函数和运算符。 您可以在我们的《XQuery 教程》中阅读更多有关 XQuery 的知识。 8、XPath 是 W3C 标准 XPath 于 1999年11月16日 成为 W3C 标准。 XPath 被设计供 XSLT、XPointer 以及其他 XML 解析软件使用。 XPath 节点 9、 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或成为根节点)。 XPath 术语 节点(Node) 在 XPath 中,有七种类型的节点:
元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。
XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。
10、XPath存取函数
名称 |
说明 |
fn:node-name(node) |
返回参数节点的节点名称。 |
fn:nilled(node) |
返回是否拒绝参数节点的布尔值。 |
fn:data(item.item,...) |
接受项目序列,并返回原子值序列。 |
fn:base-uri() |
返回当前节点的 base-uri 属性的值。 |
fn:base-uri(node) |
返回当指定节点的 base-uri 属性的值。 |
fn:document-uri(node) |
返回指定节点的 document-uri 属性的值。 | 11、XPOINT函数说明
运算符 |
功能 |
实例 |
返回 |
| |
计算两个节点集 |
//book | //cd |
返回所有带有 book 和 ck 元素的节点集 |
+ |
加法 |
6 + 4 |
10 |
- |
减法 |
6 - 4 |
2 |
* |
乘法 |
6 * 4 |
24 |
div |
除法 |
8 div 4 |
2 |
= |
等于 |
price=9.80 |
如果 price 是9.80,则返回 true。如果 price 是9.90,则返回 fasle。 |
!= |
不等于 |
price!=9.80 |
如果 price 是 9.90,则返回 true。如果 price 是 9.98,则返回 fasle。 |
< |
小于 |
price<9.80 |
如果price是9.00,则返回true 果price是9.98,则返回fasle |
<= |
小于或等于 |
price<=9.80 |
如果 price 是9.00,则返回 true。如果 price 是9.90,则返回 fasle。 |
> |
大于 |
price>9.80 |
如果 price 是 9.90,则返回 true。如果 price 是 9.80,则返回 fasle。 |
>= |
大于或等于 |
price>=9.80 |
如果 price 是 9.90,则返回 true。如果 price 是 9.70,则返回 fasle。 |
or |
或 |
price=9.80 or price=9.70 |
如果 price 是 9.80,则返回 true。如果 price 是 9.50,则返回 fasle。 |
and |
与 |
price>9.00 and price<9.90 |
如果 price 是 9.80,则返回 true。如果 price 是 8.50,则返回 fasle。 |
mod |
计算除法的余数 |
5 mod 2 |
1 | |