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能發揮它強大的功能。

謝謝瀏覽!本篇到此結束!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章