我有一个XML文档,我正在阅读并附加到使用ElementTree。
这声明了多个名称空间。据我所知,ElementTree只允许声明一个全局命名空间:
ET.register_namespace(prefix, uri)
我想在结果文件中写出多个名称空间。如果我尝试使用手动附加它们
root.set(prefix, uri)
然后他们的顺序错误,我得到cElementTree.ParseError: unbound prefix: line 2, column 0
编辑:事实证明我在设置的选项中输了一个错字。我纠正了这一点,它重新解析得很好。所以看起来这是一个可行的解决方案。
谢谢!
答案 0 :(得分:1)
如果您不仅限于使用标准库,我建议您安装并使用提供ElementTree
API的lxml包,其数量为advantages,包括轻松允许您在同一文档中包含多个namespaces。