📜  XQuery-第一个应用程序

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


以下是一个示例XML文档,其中包含各种书籍的书店记录。

books.xml



   
   
      Learn Java in 24 Hours
      Robert
      2005
      30.00
   
   
   
      Learn .Net in 24 hours
      Peter
      2011
      70.50
   
   
   
      Learn XQuery in 24 hours
      Robert
      Peter 
      2013
      50.00
   
   
   
      Learn XPath in 24 hours
      Jay Ban
      2010
      16.50
   
   

以下是一个示例Xquery文档,其中包含要在上述XML文档上执行的查询表达式。目的是获取价格大于30的那些XML节点的标题元素。

books.xqy

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

结果

Learn .Net in 24 hours
Learn XQuery in 24 hours

验证结果

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

XQuery表达式

让我们了解上述XQuery表达式的每一部分。

功能使用

doc("books.xml")

doc()是用于查找XML源的XQuery函数之一。在这里,我们传递了“ books.xml”。考虑到相对路径,books.xml应该位于存在books.xqy的相同路径中。

XPath表达式的使用

doc("books.xml")/books/book

XQuery大量使用XPath表达式来定位XML的必需部分,在XML上进行搜索。在这里,我们选择了books节点下所有可用的book节点。

迭代对象

for $x in doc("books.xml")/books/book

XQuery将xml数据视为对象。在上面的示例中,$ x代表选定的节点,而for循环遍历节点的集合。

应用条件

where $x/price>30

因为$ x代表所选节点,所以使用“ /”来获取所需元素的值; “ where”子句用于为搜索结果添加条件。

返回结果

return $x/title

因为$ x代表选定的节点,所以使用“ /”来获取所需元素,价格,标题的值; “ return”子句用于从搜索结果中返回元素。