如何将多个文档放入Berkeley-DB XML容器



我有一个目录,其中有一堆XML文档,并希望将它们全部放入容器中。换句话说,我需要做这样的事情:

dbxml> putDocument tests/*.xml

我已经写了一个GUI程序,但主机服务器没有安装X-windows,所以必须在命令行

在将某些XML文档重新加载到当前应用程序DB中时,我也做了类似的事情。如果所有的文件共享一个通用的命名约定,这将有所帮助。在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'

希望有帮助

您可以使用shell脚本将XML文件列表写入另一个文件,然后使用-f选项调用dbxml_load_container

最后使用一个脚本列出文件并将所有内容放入DB。

最新更新