0

我目前正在学习 Berkeley XML DB,并获得了使用它编写 Python 脚本的任务。我目前面临的问题是选择容器的特定节点。例如,我们有包含此类信息的容器

<root>
  <lab>
    <name>Lab1</name>
    <state>Completed</state>
  </lab>
  <lab>
    <name>Lab3</name>
    <state>Not completed</state>
  </lab>
</root>

如何选择<lab>具有特定元素的元素<name>?在 SQL 中,我会使用WHERE Name='Lab1'. 有没有办法在 XML BDB 中做类似的事情?

4

1 回答 1

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)
于 2015-05-05T19:27:37.537 回答