XQuery 语法学习笔记

1. 简介

XQuery 是一种基于 XML 的查询语言,它可以从 XML 文档中提取数据。XQuery 是 W3C 组织于 2007 年发布的标准,也是 XPath2.0 的超集。

2. 基本语法

2.1 查询语句的基本形式

Copy Code
for $变量名 in 表达式 where 条件表达式 return 结果表达式

其中 for 子句定义了一个或多个变量,用于迭代查询结果;where 子句用于过滤数据,只有满足条件的数据才会被返回;return 子句定义了最终返回的结果。

2.2 表达式

XQuery 中的表达式可以是字面量、变量名、运算符、函数调用等。比如:

Copy Code
1 + 2 * 3 "Hello, " || "World!" $x//book[@lang='en']//title

2.3 XPath 表达式

XPath 是 XQuery 的一个子集,用于定位 XML 文档中的节点。在 XQuery 中可以使用 XPath 表达式来指定查询范围。比如:

Copy Code
/bookstore/book[price>35]/title

上述 XPath 表达式表示查询书店中价格高于 35 元的书籍的标题。

2.4 函数

XQuery 内置了许多函数,用于处理字符串、数值等数据类型。比如:

Copy Code
substring("abcdefg", 2, 3) // 输出 "bcd" count($books/book) // 统计 book 元素的数量

2.5 注释

XQuery 中的注释与 XML 相同,使用 <!----> 包围注释内容。

3. 实例

以下是一个示例 XML 文档:

xmlCopy Code
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <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>

以下 XQuery 查询语句可以查询该文档中价格高于 35 元的书籍的标题:

Copy Code
for $book in /bookstore/book where $book/price > 35 return $book/title

执行结果为:

Copy Code
<title lang="en">Learning XML</title>

以上就是XQuery 语法学习笔记的内容和一个简单示例。希望能对您有所帮助!