Frage

Ich habe ein Verzeichnis mit einer Reihe von XML -Dokumenten und möchte alle in einen Container einsetzen. Mit anderen Worten, ich muss so etwas tun:

dbxml> putDocument tests/*.xml

Ich habe dazu ein GUI-Programm geschrieben, aber auf dem Host-Server wird X-Windows nicht installiert. Daher muss sich in der Befehlszeile befinden.

War es hilfreich?

Lösung 3

Am Ende wurde ein Skript verwendet, das Dateien auflistet und alles in die DB steckt.

Andere Tipps

Ich mache etwas Ähnliches, wenn ich bestimmte XML -Dokumente in meine aktuelle Anwendung DB neu lade. Es hilft, wenn alle Dateien eine gemeinsame Namenskonvention teilen. In Python könnten Sie das folgende Skript verwenden, um doc001.xml zu doc009.xml hinzuzufügen:

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'

Ich hoffe, das hilft

Sie könnten ein Shell -Skript die Liste der XML -Dateien in eine andere Datei schreiben und dann aufrufen dbxml_load_container mit der Option -f.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top