XQuery 语法学习笔记
1. 简介
XQuery 是一种基于 XML 的查询语言,它可以从 XML 文档中提取数据。XQuery 是 W3C 组织于 2007 年发布的标准,也是 XPath2.0 的超集。
2. 基本语法
2.1 查询语句的基本形式
Copy Codefor $变量名 in 表达式
where 条件表达式
return 结果表达式
其中 for
子句定义了一个或多个变量,用于迭代查询结果;where
子句用于过滤数据,只有满足条件的数据才会被返回;return
子句定义了最终返回的结果。
2.2 表达式
XQuery 中的表达式可以是字面量、变量名、运算符、函数调用等。比如:
Copy Code1 + 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 Codesubstring("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 Codefor $book in /bookstore/book
where $book/price > 35
return $book/title
执行结果为:
Copy Code<title lang="en">Learning XML</title>
以上就是XQuery 语法学习笔记的内容和一个简单示例。希望能对您有所帮助!