2011-05-03 45 views
2

我有一堆XML文檔的目錄,並希望將它們放入一個容器中。 換句話說,我需要做的是這樣的:如何將多個文檔放入Berkeley-DB XML容器中?

dbxml> putDocument tests/*.xml 

我已經寫了一個GUI程序要做到這一點,但主機服務器沒有安裝X-windows的,所以必須在命令行。

回答

0

使用列出文件並將所有內容放入數據庫的腳本結束。

+0

您可以發佈此腳本? – Finn 2012-02-03 18:20:41

0

您可以使用shell腳本將XML文件的列表寫入另一個文件,然後使用-f選項調用dbxml_load_container

1

在將某些XML文檔重新加載到我當前的應用程序數據庫中時,我做了類似的事情。如果所有文件共享一個通用的命名約定,它會有所幫助。在Python中,你將可以使用下面的腳本添加到doc001.xml doc009.xml:

from bsddb3.db import * 
from dbxml import * 

#Load source files 001 - 009 

sourceDir = 'C:/directory-containing-xml-docs' 
fileRange = range(1,10) 

for x in fileRange: 
    mycontainer = mymgr.openContainer("myDB.dbxml")  
    xmlucontext = mymgr.createUpdateContext()  
    xmlinput = mymgr.createLocalFileInputStream(sourceDir + "doc00" + str(x) + ".xml")  
    mycontainer.putDocument("doc00" + str(x) + ".xml", xmlinput, xmlucontext) 
    print 'Added: ' + str(x) 
    del mycontainer 

print '1 - 9 Added' 

希望幫助

相關問題