Pregunta

Tengo un directorio con un montón de documentos XML y quiero ponerlos todos en un contenedor. En otras palabras, necesito hacer algo como esto:

dbxml> putDocument tests/*.xml

He escrito un programa GUI para hacerlo, pero el servidor host no tiene instalado X-Windows, por lo que debe estar en la línea de comandos.

¿Fue útil?

Solución 3

Terminó usando un script que enumera los archivos y pone todo en el DB.

Otros consejos

Hago algo similar al recargar ciertos documentos XML en mi aplicación actual DB. Ayuda si todos los archivos que comparten una convención de nomenclatura común. En Python podría usar el siguiente script para agregar 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'

Espero que ayude

Puede hacer que un script de shell escriba la lista de archivos XML a otro archivo y luego llame dbxml_load_container con la opción -f.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top