我有一个包含大量XML文档的目录,并希望将所有这些文档放入容器中。 换句话说,我需要做这样的事情:
dbxml> putDocument tests/*.xml
我已经编写了一个GUI程序来执行此操作,但主机服务器没有安装X-windows,因此必须在命令行中。
答案 0 :(得分: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'
希望有所帮助
答案 1 :(得分:0)
您可以让shell脚本将XML文件列表写入另一个文件,然后使用-f选项调用dbxml_load_container。
答案 2 :(得分:0)
使用列出文件的脚本结束并将所有内容放入数据库。