Skip to main content
 首页 » 编程设计

Python ElementTree 编写多个命名空间

2025年05月04日14fff_TT

我有一个 XML 文档,我正在使用 ElementTree 阅读和附加该文档。 这有多个命名空间声明。据我所知,ElementTree 只允许声明一个全局命名空间: ET.register_namespace(前缀,uri)

我想在生成的文件中写出多个命名空间。如果我尝试使用手动附加它们 root.set(prefix, uri) 然后它们的顺序错误,我得到 cElementTree.ParseError: unbound prefix: line 2, column 0

编辑:事实证明我在设置的选项中有错字。我更正了这个,它重新解析得很好。所以看起来这是一个可行的解决方案。

谢谢!

请您参考如下方法:

如果您不仅仅局限于使用标准库,我建议您安装并使用 lxml提供 ElementTree API 的包,它有多个 advantages ,包括轻松让您拥有多个 namespaces在同一文档中。