XQuery 实例
-
XML 示例文档
在下面的示例中,我们将使用以下XML文档;"books.xml":<?xml version="1.0" encoding="UTF-8"?> <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">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.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>
-
如何选择节点
Function
XQuery 使用函数从 XML 文档提取数据。doc() 函数用于打开 “books.xml” 文件:doc("books.xml")
路径表达式
XQuery 使用路径表达式浏览 XML 文档中的元素。以下路径表达式用于选择 "books.xml" 文件中的所有标题元素:doc("books.xml")/bookstore/book/title
(/bookstore选择bookstore元素,/book选择bookstore元素下的所有book元素,/title选择每个book元素下的所有title元素)上面的 XQuery 将提取以下内容:<title lang="en">Everyday Italian</title> <title lang="en">Harry Potter</title> <title lang="en">XQuery Kick Start</title> <title lang="en">Learning XML</title>
谓词
XQuery 使用谓词限制从 XML 文档提取的数据。以下谓词用于选择 bookstore 元素下所有价格元素小于 30 的 book 元素:doc("books.xml")/bookstore/book[price<30]
上面的XQuery将提取以下内容:<book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>