複数のドキュメントをBerkeley-DB XMLコンテナに入れるにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/5866787

  •  28-10-2019
  •  | 
  •  

質問

XMLドキュメントの束を備えたディレクトリがあり、それらすべてをコンテナに入れたいと考えています。言い換えれば、私はこのようなことをする必要があります:

dbxml> putDocument tests/*.xml

私はそれを行うためにGUIプログラムを書きましたが、ホストサーバーにはX-Windowsがインストールされていないため、コマンドラインにある必要があります。

役に立ちましたか?

解決 3

ファイルをリストし、すべてをDBに入れるスクリプトを使用することになりました。

他のヒント

特定の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ファイルのリストを別のファイルに書き込み、電話をかけることができます dbxml_load_container -fオプション付き。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top