XQuery基本介绍

XQuery 简介 XQuery 作为一种强大的数据查询语言,在处理结构化数据方面具有广泛的应用前景。本文对 XQuery 的基本概念、语法结构、应用场景和未来发展趋势进行了简要介绍,希望对您有所帮助。随着技术的不断发展,XQuery 将在更多领域发挥重要作用。 阅读详情

一.简介

     XQuery = XML Query,是W3C所制定的一套标准,用来从类XML文档中提取信息,类XML文档可以理解成一切符合XML数据模型和接口的实体,他们可能是文件或RDBMS。

二.特点

    XQuery有如下特点:

      ·XQuery是查询XML的语言  

      ·XQuery类似RDBMS的SQL  

      ·XQuery建立在XPATH的基础之上  

      ·XQuery已经被现在主流的RDBMS所支持,如Oracle,DB2,SQLServer  

   XQuery应用举例  

      ·从Web Service中提取信息  

      ·生成数据的摘要报告  

      ·将XML转换为XHTML  

      ·从Web文档中找寻信息  

    在了解XQuery之前,你应该首先了解  XML  HTML/XHTML  XPATH

三.例子

XML文件books.xml中是如下代码:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<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>500.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>566.99</price>
  </book>
  <book category="WEB">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>899.95</price>
  </book>
</bookstore> 

文件存储了书店中的若干本书以及他们的语言,分类,作者,出版年和价格。  

现在,如果我们想找出所有价格大于30的书名集合则可以写XQuery为

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

where $i/price > 30  

return $i/title

doc是打开一个XML文档的函数,XQuery有一个函数库支持,提供了诸如数学计算,字符串操作等功能。XQuery1.0于XPATH2.0,XSLT1.0共用同一套函数库。粗体部分是一个XPATH的表达式,他返回了所有书的集合。where子句是筛选条件。而return子句则用于选择结果并返回。XQuery具有和SQL类似的外观和结构,以及相似的表达力。

上述XQuery将返回  

<title lang="en">XQuery Kick Start</title>  

<title lang="en">Learning XML</title>  

然后,我们想把所有书的名称组成一个排序列表并生成相应的HTML表格,则应该  

<ul>  

{  

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

order by $x  

return <li>{$x}</li>  

}  

</ul>  

order子句用于排序。将返回  

<ul>  

<li><title lang="en">Everyday Italian</title></li>  

<li><title lang="en">Harry Potter</title></li>  

<li><title lang="en">Learning XML</title></li>  

<li><title lang="en">XQuery Kick Start</title></li>  

</ul>  

这是一段合理的HTML代码

查询所有指定元素

doc("books.xml")//book

    双斜线"//"表示任意路径,即book上面可以有任意父级元素,上面代码即查询所有的book元素。

获取第二个book元素及其子元素

doc("books.xml")//book[2]

  获取第二个"book"元素及其子元素,注意XQuery的索引从1开始而不是从0

查询指定属性的元素

doc("books.xml")/bookstore/book[@category="COOKING"]

"@"表示获取属性,并用中括号括起来,上面表达式的意思为:获取book元素中属性category为“COOKING”的所有book元素,并将查询出相应book的所有子元素。

三.XML的语法规则

·大小写敏感  

·元素,属性和变量名必须是合法的XML名称  

·XQuery中的字符串可以使用单引或双引号  

·XQuery中的变量用$前缀加名称表示  

·XQuery中的注释在 (: 和 :)范围内  

另外,作为高级功能,XQuery还提供了用户自定义函数功能

四.其他

XQuery将成为一种用于描述对XML数据源的查询的语言,具有精确、强大和易用的特点。其支持者认为针对XML的XQuery非常类似针对关系数据库的SQL。对XQuery语言标准的定义工作已经于2007年初完成,版本为1.0   

XQuery 如果使用 FLWOR (For-let-where-order by- return) 从 "books.xml" 选取节点请看下面这个路径表达式:  

doc("books.xml")/bookstore/book[price>30]/title

上面这个表达式可选取 bookstore 元素下的 book 元素下所有的 title 元素,并且其中的 price 元素的值必须大于 30。  

下面这个 FLWOR 表达式所选取的数据和上面的路径表达式是相同的:

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

where $x/price>30  

return $x/title

结果是:  

<title lang="en">XQuery Kick Start</title>  

<title lang="en">Learning XML</title>

通过 FLWOR,您可以对结果进行排序:  

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

where $x/price>30  

order by $x/title

return $x/title

FLWOR 是 "For, Let, Where, Order by, Return" 的只取首字母缩写。

XQuery 总结 XQuery 是一种功能强大的 XML 数据查询语言,广泛应用于各种场景。通过本文的总结,相信读者对 XQuery 有了更深入的了解。在实际应用中,熟练掌握 XQuery 将有助于提高数据处理效率,降低开发成本。 阅读详情

相关推荐

XQuery 语法

XQuery 是一种强大的 XML 查询语言,本文详细介绍了其语法,包括基本结构、元素和函数。希望本文能帮助读者更好地理解和应用 XQuery。

xyq2024的博客 797

XQuery查询语言及应用实例分析

XQuery查询语言及应用实例分析 内容: 引言 一、XQuery概述 二、XQuery及其应用实例 三、查询语言的比较 四、总结 参考资料 关于作者 对本文的评价 (转自IBM dw) 2004 年 7 月 本文介绍了XQuery查询语言的主要特性,并通过实例讨

1785

XQuery 函数

内置函数:这些函数是 XQuery 标准库中预定义的函数,可以直接在 XQuery 查询中使用。用户定义函数:用户可以根据自己的需求定义函数,并在 XQuery 查询中调用。模块函数:模块函数是 XQuery 模块中定义的函数,可以在模块中使用或导出供其他模块调用。用户可以自定义函数以满足特定的需求。$a + $b在上面的示例中,我们定义了一个名为local:sum的函数,它接受两个整数参数并返回它们的和。然后,我们使用这个函数来计算一系列整数的和。

xyq2024的博客 641

XQuery与XQJ的介绍与使用

1.XQuery XQuery is to XML what SQL is to database tables. XQuery was designed to query XML data. XQuery对于XML,就像SQL对于数据库表。 XQuery被设计用来查询XML数据。 W3C规范:http://www.w3schools.com/xquery/

KimmKing的技术博客 4356

XPath、XQuery 以及 XSLT 函数

XPath、XQuery 和 XSLT 是XML处理中常用的三种技术。它们在处理XML数据时发挥着至关重要的作用。通过掌握这三种技术,可以更好地处理和转换XML数据,提高工作效率。

lsx202406的博客 672

22、使用 VXQ 进行 XQuery 的可视化规范和优化及多结构文本模型介绍

本博客介绍了使用 VXQ 进行 XQuery 的可视化规范与优化,以及多结构文本模型(MSXD)的相关内容。VXQ 提供了直观的可视化界面,用户可以通过添加谓词、轴节点等操作构建查询,并通过多种重写规则优化查询性能。MSXD 模型支持在同一文本数据上定义多个独立层次结构,满足不同应用场景对文本分析的需求,并支持灵活的注释管理。未来,VXQ 将支持更多高级特性并加强用户体验,而 MSXD 将进一步完善并发结构之间的约束关系,并拓展应用领域。

s4t5u6v的博客 64

XQuery 注入的介绍与代码防御

0x01 介绍 XQuery是XPath的超集,如果Xpath只是一个查询语言,XQuery是一个程序语言,可以声明自定义的功能、变量等等。类似XPath注入,XQuery注入在没有验证用户输入的情况下也会发生。一个程序使用用户名查询博客实体,后端使用XQuery查询XML数据。 1查询实例 用户输入admin,在后台执行的查询为: for$blogpost...

煜铭2011 1788

21、两种方法在XML查询处理中的性能对比及可视化XQuery工具介绍

本文探讨了在XML查询处理中,基于模式感知的Shared-Inlining方法与模式无关的XParent和Sucxent++方法的性能对比。通过多个数据中心和文本中心查询示例,分析了不同方法在不同场景下的表现,并展示了数据量变化对性能的影响。同时,介绍了可视化XQuery工具VXQ,该工具为非技术用户提供了友好的查询构建环境,并具备自动验证、查询重写和优化功能,显著降低了使用XQuery的门槛。最后,总结了各方法的适用场景以及VXQ在未来XML查询处理中的潜力。

s4t5u6v的博客 68

转载--SQL Server 2005的XQuery介绍

原文地址: http://bbs.51cto.com/thread-458009-1-1.html 引用: 摘要 本文介绍了SQL Server 2005能够支持的XQuery的各方面特性如FLWOR语句,XQuery的操作,if-then-else结构,XML的构造函数,XQuery的内置函数,类型的转换操作符,并举例说明了上述XQuery功能的应用和操作。本文同时也对SQL Se...

weixin_30677475的博客 139

XQuery运用

通过对XML文档的解析执行数据操作,实现异构数据库集成的基础

xquery 计算进出旅客总数

按照2005-12-24日机场繁忙程度(计算进出旅客总数)列出机场(忽略没有旅客进出的机场)、以及其进出旅客总数(dataQ3.xquery);(此题选做)

oracle+xquery函数,oracle_xquery介绍.doc

oracle_xquery介绍精华--Oracle SQL/XML(XML的详细介绍)??2010-04-02 09:56:26|??分类:?ORACLE10G_XML|字号?订阅XML数据通常用于现在的生产系统,是数据库实现的主要部分。过去,这一事实给数据库开发人员带来了设计问题,使得他们必须存储、查询和更新诸如非结构化 LOB 的XML数据,或者将数据“分解”到关系表中,然后再将其重新组合。该...

weixin_30709179的博客 221

XQUERY的好例子

用xquery的例子(解析xml)

XQuery 术语

在 XQuery 中,有七种节点:元素、属性、文本、命名空间、处理指令、注释、以及文档节点(或称为根节点)。

fengshou1的博客 684

论文阅读--射频电源在半导体领域的应用

射频电源(RF Power Supply)是能够输出300kHz~300GHz正弦波电压的高频交流电源,在半导体制造领域,射频电源的典型工作频率范围为400kHz∼60 MHz,主要由射频发生器(功率源)、匹配器及配套控制电路组件构成,其关键组件包括变压器与电抗器、晶闸管、绝缘栅双极型晶体管(IGBT)、钣金件、铜材及各种电子元器件。射频电源是刻蚀和薄膜沉积工艺的核心,主要用于产生等离子体,以增强气体反应活性,其性能直接影响反应腔体内等离子体的浓度、均匀性和稳定性。

伊丽莎白的学习之路 2337

如何在windows电脑上搭建Linux环境(手把手教安装虚拟机软件和使用云服务器)

手把手教学如何搭建Linux环境

纪宁的博客 1万+

oracle+xquery函数,xquery

在 Oracle XML DB 中使用 XQuery目的本教程描述了如何在 Oracle XML DB 中使用 XQuery。所需时间大约 1 小时。主题本教程包括下列主题:查看屏幕截图 单击此图标可以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速较慢时,响应时间可能会比较长。)注意:您还可以在下面的步骤中将光标放在每个单独的图标上,仅加载和查看与该步骤相关的屏幕截图。...

weixin_36400198的博客 589

PyTorch实战:手把手教你用QAT量化感知训练拯救模型精度(附避坑指南)

本文详细介绍了如何使用PyTorch进行QAT量化感知训练,以提升模型在边缘设备上的推理精度。通过核心原理讲解、实战代码示例和避坑指南,帮助开发者掌握从环境配置、模型训练到边缘部署的全流程,有效解决传统量化方法导致的精度损失问题。

c7d8e的博客 329
上一篇: 编写一个xml Schema
下一篇: java中使用xQuery
普通网友
博客等级 码龄15年 4粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值