📜  XQuery-XPath

📅  最后修改于: 2020-11-09 05:42:45             🧑  作者: Mango


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/book
where $x/price > 30
return $x/title

输出

Learn .Net in 24 hours
Learn XQuery in 24 hours

XQuery –版本2

(: read all books :)
let $books := doc("books.xml")/books/book

for $x in $books
where $x/price > 30
return $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 $books
return $x/title

输出

Learn .Net in 24 hours
Learn XQuery in 24 hours

验证结果

要验证结果,请使用上述XQuery表达式替换books.xqy的内容(在环境设置一章中提供),然后执行XQueryTester Java程序。