自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用于存儲(chǔ)xml的數(shù)據(jù)庫(kù)之DBXML簡(jiǎn)單介紹

數(shù)據(jù)庫(kù) Oracle
本文我們主要介紹了由Oracle開(kāi)發(fā)的用于存儲(chǔ)XML的數(shù)據(jù)庫(kù)DBXML的用法總結(jié),希望能對(duì)您有所幫助。

本文我們主要從兩個(gè)方面介紹一下DBXML:什么是dbxml、dbxml用法簡(jiǎn)單介紹。

1、什么是dbxml

dbxml全稱(chēng)是:Berkeley DB XML,是由oracle開(kāi)發(fā)的一款用于存儲(chǔ)xml的數(shù)據(jù)庫(kù)。它可以在多個(gè)平臺(tái)下進(jìn)行開(kāi)發(fā),它支持c/c++、java、perl、php、python.。同時(shí)它也是也款嵌入式數(shù)據(jù)庫(kù),他是把數(shù)據(jù)庫(kù)文件信息存儲(chǔ)在本地應(yīng)用程序的相應(yīng)位置,如果需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行搜索時(shí),則需要對(duì)這些文件進(jìn)行讀取,其讀取方式是dbxml內(nèi)部實(shí)現(xiàn)的。它是將xml文件進(jìn)行解析,在將內(nèi)容存儲(chǔ)到dbxml數(shù)據(jù)庫(kù)中,在搜索上它提供了xquery的查詢(xún)方式。

2、dbxml用法簡(jiǎn)單介紹

此處主要對(duì)dbxml的初始化、添加內(nèi)容和查找進(jìn)行簡(jiǎn)單的講解。   

首先要想使用dbxml就要實(shí)例化一個(gè)XmlManager對(duì)象,通過(guò)XmlManager對(duì)象的createContainer(“containerName”)方法創(chuàng)建一個(gè)用于存儲(chǔ)xml文件的容器,也就相當(dāng)與關(guān)系數(shù)據(jù)庫(kù)的一個(gè)數(shù)據(jù)庫(kù)。也可以通過(guò)openContainer(“containerName”)獲得一個(gè)已有的容器,即獲得一個(gè)數(shù)據(jù)庫(kù)連接,便可對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。

獲得一個(gè)數(shù)據(jù)庫(kù)的容易后,便可將xml內(nèi)容添加進(jìn)去。通過(guò)createContainer或者openContainer后的一個(gè)XmlContainer對(duì)象后,可通過(guò)XmlContainer對(duì)象的一個(gè)方法putDocument(“docName”,content)將content內(nèi)容添加到容器中(數(shù)據(jù)庫(kù)中),此處的docName相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的表名。除了這種想容器中添加X(jué)ML內(nèi)容外還可以通過(guò)XmlInputStream, XmlDocument和XmlEventWriter三個(gè)對(duì)象將硬盤(pán)中的xml文件通過(guò)流的形式寫(xiě)入DBXML中,這種方法本人也不是弄的太懂,還有待繼續(xù)研究,故就不過(guò)多講述,以免產(chǎn)生誤導(dǎo)。

添加了xml內(nèi)容添加到dbxml中之后,我們便可對(duì)其中的內(nèi)容進(jìn)行操作。這里將演示簡(jiǎn)單的查詢(xún)操作,通過(guò)XmlQueryContext qc =mgr.createQueryContext();獲得查詢(xún)對(duì)象。假設(shè)我們?cè)赿bxml中添加了這段xml內(nèi)容:<people><person><age>23</age><name>joe</name></person><person><age>43</age><name>mary</name></person></people>

現(xiàn)在想獲得所有叫mary人的所有信息,可以設(shè)置一個(gè)查詢(xún)要求的語(yǔ)句(類(lèi)似與sql語(yǔ)句)

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

這句話(huà)的意思是搜索一個(gè)名字為people.dbxml的容器(首先是有該容器,否則會(huì)報(bào)錯(cuò)),xml的開(kāi)始標(biāo)簽為people,在people標(biāo)簽內(nèi)的person標(biāo)簽,并且被person標(biāo)簽包含的name子標(biāo)簽的值為$name(此處是一個(gè)變量),通過(guò)qc對(duì)象的setVariableValue(“name”,new XmlValue(“mary”)),給$name賦值,相當(dāng)于java里面的sql查詢(xún)語(yǔ)句。再通過(guò)XmlQueryExpression expr = mgr.prepare(queryString,qc); XmlResults res= expr.execute(qc);查詢(xún)結(jié)果的結(jié)果集是一個(gè)XmlValue對(duì)象的集合,循環(huán)遍歷便可獲得搜索的值。

3、總結(jié):

dbxml基本擁有和其他類(lèi)型的數(shù)據(jù)庫(kù)相同的操作方法,如果需要應(yīng)用DBXML還需要繼續(xù)深入的研究其中的方法使用,和相應(yīng)的管理。以使得DBXML能發(fā)揮它強(qiáng)大的功能。

關(guān)于DBXML數(shù)據(jù)庫(kù)的知識(shí)就介紹到這里,希望能夠?qū)δ兴鶐椭?/p>

【編輯推薦】

  1. Oracle 11g R2的卸載與重裝過(guò)程詳解
  2. Oracle數(shù)據(jù)庫(kù)Shared Pool優(yōu)化過(guò)程詳解
  3. RedHat Linux的Oracle 10g安裝配置詳解
  4. Oracle數(shù)據(jù)庫(kù)使用存儲(chǔ)過(guò)程創(chuàng)建自動(dòng)增長(zhǎng)列
  5. 談一談兼容Oracle和DB2開(kāi)發(fā)時(shí)的注意事項(xiàng)
責(zé)任編輯:趙鵬 來(lái)源: CSDN博客
相關(guān)推薦

2009-07-01 11:08:14

JSP DestoryJSP Init數(shù)據(jù)庫(kù)鏈接

2020-09-07 22:34:25

Graviton數(shù)據(jù)庫(kù)鍵值存儲(chǔ)

2013-03-25 10:26:19

XML數(shù)據(jù)庫(kù)

2011-08-11 16:08:55

Oracle數(shù)據(jù)庫(kù)ASHAWR

2011-08-15 15:40:57

SQL Server 系統(tǒng)數(shù)據(jù)庫(kù)

2018-07-13 09:20:30

SQLite數(shù)據(jù)庫(kù)存儲(chǔ)

2019-06-20 15:25:14

MySQLL數(shù)據(jù)庫(kù)存儲(chǔ)

2011-08-03 13:28:08

Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)控制文件

2011-08-03 15:14:17

Excel XP數(shù)據(jù)庫(kù)功能

2011-08-12 12:59:33

Oracle數(shù)據(jù)庫(kù)同義詞

2019-08-27 15:00:09

MySQL數(shù)據(jù)庫(kù)存儲(chǔ)

2009-02-04 17:36:11

ibmdwXML

2018-11-05 15:14:42

MySQL編程語(yǔ)言技術(shù)

2010-06-30 14:24:08

SQL Server數(shù)

2011-08-05 09:33:56

OracleUser ProcesServer Proc

2011-07-20 17:31:36

關(guān)系型數(shù)據(jù)庫(kù)

2009-08-24 17:58:19

C#讀取XML文件

2009-07-31 16:29:47

ibmdwXML

2011-07-12 09:20:08

XML數(shù)據(jù)庫(kù)

2011-03-17 14:51:33

數(shù)據(jù)庫(kù)自我調(diào)整
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)