dbxml【XML数据库初探】

DBXML——xml数据库初探
下载地址: http://www.oracle.com/us/products/database/index.html
一下将就两个方面介绍一下DBXML:什么是dbxml、dbxml用法简单介绍。
1、什么是dbxml

        dbxml全称是:Berkeley DB XML,是由oracle开发的一款用于存储xml的数据库。它可以在多个平台下进行开发,它支持c/c++、java、perl、php、python.。同时它也是也款嵌入式数据库,他是把数据库文件信息存储在本地应用程序的相应位置,如果需要对数据库进行搜索时,则需要对这些文件进行读取,其读取方式是dbxml内部实现的。它是将xml文件进行解析,在将内容存储到dbxml数据库中,在搜索上它提供了xquery的查询方式。

2、dbxml用法简单介绍

此处主要对dbxml的初始化、添加内容和查找进行简单的讲解。   

      首先要想使用dbxml就要实例化一个XmlManager对象,通过XmlManager对象的createContainer(“containerName”)方法创建一个用于存储xml文件的容器,也就相当与关系数据库的一个数据库。也可以通过openContainer(“containerName”)获得一个已有的容器,即获得一个数据库连接,便可对数据库进行操作。

        获得一个数据库的容易后,便可将xml内容添加进去。通过createContainer或者openContainer后的一个XmlContainer对象后,可通过XmlContainer对象的一个方法putDocument(“docName”,content)将content内容添加到容器中(数据库中),此处的docName相当于关系数据库中的表名。除了这种想容器中添加XML内容外还可以通过XmlInputStream, XmlDocument和XmlEventWriter三个对象将硬盘中的xml文件通过流的形式写入DBXML中,这种方法本人也不是弄的太懂,还有待继续研究,故就不过多讲述,以免产生误导。

       添加了xml内容添加到dbxml中之后,我们便可对其中的内容进行操作。这里将演示简单的查询操作,通过XmlQueryContext qc =mgr.createQueryContext();获得查询对象。假设我们在dbxml中添加了这段xml内容:<people><person><age>23</age><name>joe</name></person><person><age>43</age><name>mary</name></person></people>

     现在想获得所有叫mary人的所有信息,可以设置一个查询要求的语句(类似与sql语句)

    StringqueryString=    "collection('people.dbxml')/people/person[name=$name]"

     这句话的意思是搜索一个名字为people.dbxml的容器(首先是有该容器,否则会报错),xml的开始标签为people,在people标签内的person标签,并且被person标签包含的name子标签的值为$name(此处是一个变量),通过qc对象的setVariableValue(“name”,new XmlValue(“mary”)),给$name赋值,相当于java里面的sql查询语句。再通过XmlQueryExpression expr = mgr.prepare(queryString,qc); XmlResults res= expr.execute(qc);查询结果的结果集是一个XmlValue对象的集合,循环遍历便可获得搜索的值。

        3、 总结:

         dbxml基本拥有和其他类型的数据库相同的操作方法,如果需要应用DBXML还需要继续深入的研究其中的方法使用,和相应的管理。以使得DBXML能发挥它强大的功能。

谢谢浏览!本篇到此结束!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值