加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 区块链、物联平台、物联安全、数据迁移、5G!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

XQuery XPath分析

发布时间:2023-12-25 10:32:50 所属栏目:教程 来源:DaWei
导读: XQuery兼容XPath,它使用XPath表达式来限制XML集合上的搜索结果。 有关如何使用XPath的更多详细信息,请参阅我们的XPath教程。

回想一下我们在上面几小节中用来获取书籍列表的以下XPath表
XQuery兼容XPath,它使用XPath表达式来限制XML集合上的搜索结果。 有关如何使用XPath的更多详细信息,请参阅我们的XPath教程。

回想一下我们在上面几小节中用来获取书籍列表的以下XPath表达式。

doc(books.xml)/books/book
XPath示例
我们将使用books.xml文件并在这个文件上应用XQuery。文件:books.xml 的内容如下所示 -

<?xml version=1.0 encoding=UTF-8?>
<books>
   <book category=JAVA>
      <title lang=en>15天搞定Java</title>
      <author>Maxsu</author>
      <year>2015</year>
      <price>30.00</price>
   </book>
   <book category=DOTNET>
      <title lang=en>15天搞定.Net</title>
      <author>Susen</author>
      <year>2018</year>
      <price>40.50</price>
   </book>
   <book category=XML>
      <title lang=en>3天搞定XQuery</title>
      <author>Yizhi</author>
      <author>Maxsu</author> 
      <year>2016</year>
      <price>50.00</price>
   </book>
   <book category=XML>
      <title lang=en>24小时搞定XPath</title>
      <author>Jazz Bee</author>
      <year>2019</year>
      <price>16.50</price>
   </book>
</books>
在这里给出了三个版本的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
输出结果如下所示 -

<title lang=en>15天搞定.Net</title>
<title lang=en>3天搞定XQuery</title>
XQuery - 版本2

(: read all books :)
let $books := doc(books.xml)/books/book
for $x in $books
where $x/price > 30
return $x/title
输出结果如下所示 -

<title lang=en>15天搞定.Net</title>
<title lang=en>3天搞定XQuery</title>
XQuery - 版本3

(: read books with price > 30 :)
let $books := doc(books.xml)/books/book[price > 30]
for $x in $books
return $x/title
输出结果如下所示 -

<title lang=en>15天搞定.Net</title>
<title lang=en>3天搞定XQuery</title>
注:要验证结果,请将books.xqy 的内容(在XQuery开发环境章节中给出)替换为上面的XQuery表达式,然后执行XQueryTester java程序。

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章