新聞中心
本文我們主要從兩個方面介紹一下DBXML:什么是dbxml、dbxml用法簡單介紹。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站建設、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的武川網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
1、什么是dbxml
dbxml全稱是:Berkeley DB XML,是由oracle開發(fā)的一款用于存儲xml的數(shù)據(jù)庫。它可以在多個平臺下進行開發(fā),它支持c/c++、java、perl、php、python.。同時它也是也款嵌入式數(shù)據(jù)庫,他是把數(shù)據(jù)庫文件信息存儲在本地應用程序的相應位置,如果需要對數(shù)據(jù)庫進行搜索時,則需要對這些文件進行讀取,其讀取方式是dbxml內部實現(xiàn)的。它是將xml文件進行解析,在將內容存儲到dbxml數(shù)據(jù)庫中,在搜索上它提供了xquery的查詢方式。
2、dbxml用法簡單介紹
此處主要對dbxml的初始化、添加內容和查找進行簡單的講解。
首先要想使用dbxml就要實例化一個XmlManager對象,通過XmlManager對象的createContainer(“containerName”)方法創(chuàng)建一個用于存儲xml文件的容器,也就相當與關系數(shù)據(jù)庫的一個數(shù)據(jù)庫。也可以通過openContainer(“containerName”)獲得一個已有的容器,即獲得一個數(shù)據(jù)庫連接,便可對數(shù)據(jù)庫進行操作。
獲得一個數(shù)據(jù)庫的容易后,便可將xml內容添加進去。通過createContainer或者openContainer后的一個XmlContainer對象后,可通過XmlContainer對象的一個方法putDocument(“docName”,content)將content內容添加到容器中(數(shù)據(jù)庫中),此處的docName相當于關系數(shù)據(jù)庫中的表名。除了這種想容器中添加XML內容外還可以通過XmlInputStream, XmlDocument和XmlEventWriter三個對象將硬盤中的xml文件通過流的形式寫入DBXML中,這種方法本人也不是弄的太懂,還有待繼續(xù)研究,故就不過多講述,以免產(chǎn)生誤導。
添加了xml內容添加到dbxml中之后,我們便可對其中的內容進行操作。這里將演示簡單的查詢操作,通過XmlQueryContext qc =mgr.createQueryContext();獲得查詢對象。假設我們在dbxml中添加了這段xml內容:
現(xiàn)在想獲得所有叫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對象的集合,循環(huán)遍歷便可獲得搜索的值。
3、總結:
dbxml基本擁有和其他類型的數(shù)據(jù)庫相同的操作方法,如果需要應用DBXML還需要繼續(xù)深入的研究其中的方法使用,和相應的管理。以使得DBXML能發(fā)揮它強大的功能。
關于DBXML數(shù)據(jù)庫的知識就介紹到這里,希望能夠對您有所幫助。
標題名稱:用于存儲xml的數(shù)據(jù)庫之DBXML簡單介紹
文章URL:http://m.5511xx.com/article/cociech.html


咨詢
建站咨詢
