2011-05-03 46 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' 

希望帮助

相关问题