Как поместить несколько документов в контейнер Berkeley-DB XML?

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

  •  28-10-2019
  •  | 
  •  

Вопрос

У меня есть каталог с группой XML -документов, и я хочу поместить их в контейнер. Другими словами, мне нужно сделать что -то вроде этого:

dbxml> putDocument tests/*.xml

Я написал программу GUI для этого, но у хост-сервера нет установленных X-Windows, поэтому должен быть в командной строке.

Это было полезно?

Решение 3

В итоге использовал скрипт, который перечисляет файлы и помещает все в БД.

Другие советы

Я делаю аналогичную вещь, когда перезагрузка определенных документов 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