XQuery 教程学习笔记

1. Introduction

XQuery 是一种用于 XML 数据库中查询和转换数据的编程语言。XQuery 可以从 XML 文档中提取信息、格式化并合并文档、排序和分组结果等。

2. Basic Syntax

2.1 查询节点

查询一个元素节点:

Copy Code
doc("books.xml")/bookstore/book

这条语句会提取 books.xml 文件中 bookstore 元素下的所有 book 元素。

查询一个属性节点:

Copy Code
doc("books.xml")/bookstore/book/@category

这条语句会提取 books.xml 文件中 bookstore 元素下的所有 book 元素的 category 属性。

2.2 条件查询

使用 where 关键字进行条件过滤:

Copy Code
for $x in doc("books.xml")/bookstore/book where $x/price>30 return $x/title

这条语句会查询 books.xml 文件中 bookstore 元素下的所有价格大于30的书籍的标题。

2.3 函数调用

使用函数来处理 XML 数据:

Copy Code
doc("books.xml")/bookstore/book/title[contains(.,"Java")]

这条语句会查询 books.xml 文件中 bookstore 元素下的所有包含"Java"字符串的书籍的标题。

3. XQuery 实例

以下是一个示例,它查询 books.xml 文件中的所有 Java 书籍的作者和价格:

Copy Code
for $x in doc("books.xml")/bookstore/book[category='Java'] return concat("Author: ", $x/author, " Price: ", $x/price)

这条语句会返回:

Copy Code
Author: Kunle Afolayan Price: 50.0 Author: J K Rowling Price: 29.99