Berkeley DB XML and python
Berkeley DB XML是一种原生的XML数据库,它允许将XML文档内容直接存储在数据库中。
由此,我想可以用它来存储一些简单的、不经常更新的、但是要求快速查询的数据。
我们通过一个简单的例子来说明,如何针对Berkeley DB XML来存储XML文档:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from bsddb.db import *
from dbxml import *
mgr = XmlManager()
uc = mgr.createUpdateContext()
container = mgr.openContainer("demo.dbxml", DB_CREATE)
filename = ‘demo’
fileContents = """<?xml version="1.0" encoding="UTF-8"?>
<result>OK</result>
"""
container.putDocument(filename, fileContents, uc)
在这个例子中,会创建一个名为demo.dbxml的数据库文件。
相应的,我们读取刚刚存储的内容,可以使用:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from bsddb.db import *
from dbxml import *
mgr = XmlManager()
container = mgr.openContainer("demo.dbxml")
container.addAlias("demo")
qc = mgr.createQueryContext()
results = mgr.query("collection(’demo’)/result", qc)
for value in results:
document = value.asDocument()
print document.getName(), "=", value.asString()
在实际应用过程中,发现当大量数据同时插入的时候,会产生类似以下的错误:
Traceback […]
| 标签: Berkeley DB, python, xml, xquery

