Domanda

Ho una directory con un mucchio di documenti XML e voglio metterli tutti in un contenitore. In altre parole, devo fare qualcosa del genere:

dbxml> putDocument tests/*.xml

Ho scritto un programma GUI per farlo, ma il server host non è installato X-Windows, quindi deve essere nella riga di comando.

È stato utile?

Soluzione 3

Alla fine utilizzando uno script che elenca i file e mette tutto nel DB.

Altri suggerimenti

Faccio una cosa simile quando ricarico alcuni documenti XML nella mia attuale applicazione DB. Aiuta se tutti i file che condividono una convenzione di denominazione comune. In Python potresti utilizzare il seguente script per aggiungere doc001.xml a 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'

Spero possa aiutare

Potresti avere uno script shell scrivere l'elenco dei file XML in un altro file e quindi chiamare dbxml_load_container con l'opzione -f.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top