たくさんのXMLドキュメントを含むディレクトリがあり、それらすべてをコンテナに入れたいと思っています。言い換えれば、私はこのようなことをする必要があります:
dbxml> putDocument tests/*.xml
これを行うためのGUIプログラムを作成しましたが、ホストサーバーにX-windowsがインストールされていないため、コマンドラインに配置する必要があります。
たくさんの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'
お役に立てば幸い
シェルスクリプトでXMLファイルのリストを別のファイルに書き込んでから、-fオプションを指定してdbxml_load_containerを呼び出すことができます。
ファイルを一覧表示し、すべてをDBに配置するスクリプトを使用することになりました。