In an earlier post a C++ snippet can be found where a DB XML container was created (or opened if already exists) and a document read from stdin
was put into that container. That same snippet done in Python is pretty much identical:
from bsddb3.db import * from dbxml import * mgr = XmlManager(DBXML_ALLOW_EXTERNAL_ACCESS) uc = mgr.createUpdateContext() try: cont = mgr.openContainer("testcontainer.dbxml", DB_CREATE|DBXML_ALLOW_VALIDATION, XmlContainer.WholedocContainer) doc = mgr.createDocument() input = mgr.createStdInInputStream() doc.setContentAsXmlInputStream(input) cont.putDocument(doc, uc, DBXML_GEN_NAME) except XmlException, inst: print "XmlException (", inst.ExceptionCode,"): ", inst.What if inst.ExceptionCode == DATABASE_ERROR: print "Database error code:",inst.DBError