XQuery符合XPath.它使用XPath表达式来限制XML集合上的搜索结果.有关如何使用XPath的更多详细信息,请参阅我们的 XPath教程.
回想下列内容我们之前用来获取书籍列表的XPath表达式.
doc("books.xml")/books/book
XPath示例
我们将使用books.xml文件并对其应用XQuery.
books.xml
Learn Java in 24 Hours Robert 2005 30.00 Learn .Net in 24 hours Peter 2011 40.50 Learn XQuery in 24 hours Robert Peter 2013 50.00 Learn XPath in 24 hours Jay Ban 2010 16.50
我们在这里给出了三个版本的XQuery语句,它们实现了显示价格值大于30的书籍标题的相同目的.
XQuery - 版本1
(: read the entire xml document :)let $books := doc("books.xml")for $x in $books/books/bookwhere $x/price > 30return $x/title
输出
Learn .Net in 24 hours Learn XQuery in 24 hours
XQuery - 版本2
(: read all books :)let $books := doc("books.xml")/books/bookfor $x in $bookswhere $x/price > 30return $x/title
输出
Learn .Net in 24 hours Learn XQuery in 24 hours
XQuery - 版本3
(: read books with price > 30 :)let $books := doc("books.xml")/books/book[price > 30]for $x in $booksreturn $x/title
输出
Learn .Net in 24 hours Learn XQuery in 24 hours
验证结果
要验证结果,请替换 books.xqy (在环境设置章节中给出)使用上面的XQuery表达式并执行XQueryTester java程序.