我目前正在学习Berkeley XML DB,并获得了使用它编写Python脚本的任务。我目前面临的问题是选择容器的特定节点。例如,我们有容器有这样的信息
<root>
<lab>
<name>Lab1</name>
<state>Completed</state>
</lab>
<lab>
<name>Lab3</name>
<state>Not completed</state>
</lab>
</root>
如何选择具有特定<lab>
的{{1}}元素?在SQL中我会使用<name>
。有没有办法在XML BDB中做类似的事情?
答案 0 :(得分:0)
我认为您最好获取旧文档,复制数据,删除文档并添加新修改过的数据。
mgr = XmlManager()
uc = mgr.createUpdateContext()
container = mgr.openContainer("labs.dbxml") # Here must be your database name
qc = mgr.createQueryContext()
document = container.getDocument("Lab11")
name = document.getName()
content = document.getContent()
# Change fields here using XPath
container.deleteDocument('La1 1', uc)
container.putDocument(name, content, uc)