xpath常用语法
的有关信息介绍如下:
XPath 常用语法指南
XPath(XML Path Language)是一种在 XML 文档中查找信息的语言。它允许你通过路径表达式来选取 XML 文档中的节点或节点集。以下是一些常用的 XPath 语法和示例,帮助你快速上手使用 XPath。
一、基本语法
选择节点
/:从根节点开始选择。
/bookstore/book选择根元素 <bookstore> 下所有的 <book> 元素。
//:选择文档中的节点,不考虑它们的位置。
//book选择文档中所有的 <book> 元素,无论它们在什么位置。
属性选择
//book[@category='WEB']选择所有具有 category 属性且值为 WEB 的 <book> 元素。
谓语(Predicates) 谓语用于过滤节点。
/bookstore/book[price>35.00]选择价格大于 35.00 的所有 <book> 元素。
轴(Axes) 轴定义了所选节点的上下文。例如:
- child 轴(默认):选择直接子节点。
- parent 轴:选择父节点。
- ancestor 轴:选择祖先节点。
- descendant 轴:选择后代节点。
- following 轴:选择文档中位于选定节点后的所有节点。
- preceding 轴:选择文档中位于选定节点前的所有节点。
示例:
/bookstore/book/ancestor::bookstore选择 <book> 元素的祖先 <bookstore> 元素。
二、函数
XPath 提供了一系列内置函数来处理字符串、数值、日期和时间等数据类型。
字符串函数
concat():连接两个或多个字符串值。
concat('Hello, ', 'World!')substring():提取字符串的子串。
substring('Hello World', 1, 5)
数值函数
sum():计算节点集中数字的总和。
sum(//book/price)round():对数字进行四舍五入。
round(123.456)
节点集函数
last():返回当前节点集中的最后一个节点的序号。
last()position():返回当前节点在其兄弟节点中的位置。
position()
三、运算符
XPath 支持多种运算符来进行数值比较、逻辑运算等。
- 算术运算符:+、-、*、div、mod
- 比较运算符:=、!=、<、<=、>、>=
- 逻辑运算符:and、or、not()
示例:
//book[price > 35.00 and price < 40.00]选择价格在 35.00 到 40.00 之间的所有 <book> 元素。
四、综合示例
假设有以下 XML 文档:
<bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="web"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>选择所有类别为 "web" 的书籍的标题:
//book[@category='web']/title计算所有书籍的总价:
sum(//book/price)
通过以上介绍,你应该能够掌握 XPath 的基本用法,并在实际项目中应用这些语法来选择和处理 XML 数据。



