XQuery学习笔记

什么是XQuery?

XQuery是一种用于XML文档查询和转换的编程语言。它的目标是提供比XPath更强大和灵活的查询功能,并具有基于XPath的语法。

基础语法

查询元素

在XQuery中,使用 element 关键字查询一个元素,语法如下:

xqueryCopy Code
element elementName { // 查询条件 }

例如,查询所有名称为 "book" 的元素:

xqueryCopy Code
element book { // 查询条件 }

查询属性

在XQuery中,使用attribute 关键字查询一个属性,语法如下:

xqueryCopy Code
attribute attributeName { // 查询条件 }

例如,查询所有名称为 "price" 的属性:

xqueryCopy Code
attribute price { // 查询条件 }

过滤条件

在XQuery中,使用 where 关键字添加过滤条件,语法如下:

xqueryCopy Code
for $variable in collection where condition return $variable

例如,查询所有价格小于 50 的书籍:

xqueryCopy Code
for $book in collection where $book/price < 50 return $book

实例

以下是一个简单的例子,演示如何使用XQuery查询一个包含图书信息的XML文档。

xmlCopy Code
<books> <book> <title>Java编程思想</title> <author>Bruce Eckel</author> <year>2003</year> <price>59.99</price> </book> <book> <title>Java核心技术</title> <author>Cay Horstmann, Gary Cornell</author> <year>2006</year> <price>69.99</price> </book> <book> <title>Python编程快速上手</title> <author>Bill Lubanovic</author> <year>2015</year> <price>39.95</price> </book> </books>

查询所有书籍

xqueryCopy Code
for $book in collection("books.xml")/books/book return $book

查询所有价格小于50的书籍

xqueryCopy Code
for $book in collection("books.xml")/books/book where $book/price < 50 return $book

以上就是XQuery的基础语法和一个简单的实例。希望能帮助你更好地理解XQuery。