XQuery使用入门(一)

来源:互联网 发布:淘宝联盟里活动走低佣 编辑:程序博客网 时间:2024/05/03 23:57

  XQuery使用入门(一)

作者:gobitan(雨水)  日期:2007-03-29  转载请注明出处http://blog.csdn.net/gobitan
 
XQuery是一种查询语言,它对于XML就像SQL对于关系数据库表一样。要学习SQL 最好的办法就是弄个数据库来编写SQL语句练手,XQuery的学习也不例外,下面我们就来搭建一个可以练手XQuery的环境。
目前主流的原生XML数据库在我的另一篇文章《四个主流的Native-XML数据库》中已经做了介绍。其中Tamino XML Server是一个非常不错的Native-XML数据库商业产品,提供了丰富的工具和各种接口,但是它的安装和使用也比较复杂。Tamino XML Server的管理基本上都是通过Web方式,因此还需要安装Apache服务器。这里搭建的环境采用了较为轻巧的Berkeley DB XML嵌入式数据库。它的安装和使用较为简单,但只提供了命令行方式操作的接口,不如Tamino提供的GUI界面那么直观。
Berkeley DB XML(以下简称BDB XML)是一个开源的嵌入式数据库,最先由SleepyCat公司主要负责开发,后来Oracle公司把它收购了。关于BDB XML的特点请参见文章《四个主流的Native-XML数据库》。这里主要介绍采用BDB XML如何搭建一个可以练手XQuery的环境。
第一步:下载
可以到Oracle公司的网站上去下载,当前最新版本为2.3.10。下载地址为:
http://www.oracle.com/technology/software/products/berkeley-db/xml/index.html(不保证一直有效),选择Berkeley DB XML 2.3.10 .msi Windows installer,文件大小为52.7M。
 
第二步:安装
双击下载后的安装文件,一路默认安装直至安装完成。如果安装成功,系统会注册环境变量,此时在命令行中输入dbxml就可以进入BDB XML的Shell操作了。
 
第三步:执行你的第一个XQuery查询语句
要想试手XQuery,首先得熟悉Berkeley DB XML的基本使用,向数据库中存储一些数据以供查询。Berkeley DB XML使用很简单,下面就简要介绍一下。
BDB XML提供Shell命令行交互。有两种方式可以进入BDB XML Shell,即通过cmd进入然后键入dbxml命令和直接通过开始菜单找到Berkeley DB XML Shell进入。
BDB XML数据库以容器的方式存储XML数据,因此要先建一个容器。
(1)创建容器
createContainer phone.dbxml
如果命令执行成功,系统会返回” Creating node storage container with nodes indexed”
此时创建了一个名叫phone的容器。
createContainer是创建容器的命令,后面是容器的名称。
 
(2)向容器中存入XML文档
putDocument phone1 '<phonebook>
<name>
<first>Tom</first>
<last>Jones</last>
</name>
<phone type="home">420-203-2032</phone>
</phonebook>' s
上面的命令存入了一个名叫phone1的XML文档。
如果命令执行成功,系统会返回” Document added, name = phone1”   
putDocument是存入文档的命令,后面紧跟文档名称,最后是用单引号括起来的XML文档内容,并以s结束。
 
(3)执行XQuery查询
query 'doc("phone.dbxml/phone1")'
如果成功,系统会返回
” 1 objects returned for eager expression 'doc("phone.dbxml/phone1")'”
然后键入print查看查询结果如下:
<phonebook>
<name>
<first>Tom</first>
<last>Jones</last>
</name>
<phone type="home">420-203-2032</phone>
</phonebook>
 
Query是查询命令,doc是XQuery的一个函数,用于表示XML文档。到此为止,成功了执行了第一个XQuery语句。它还很简单,后面我们会介绍更为深入的应用。
关于作者:胡家辉,网名:雨水 目前主要专注于XML文档管理及相关技术