python - 如何在 Python 中编写没有标题的 XML 文件?

标签 python xml

当使用 Python 的常用 XML 工具时,例如 xml.dom.minidom对于 XML 编写,文件总是以这样的方式开始

<?xml version="1.0"?>

[...]

虽然这是完全合法的 XML 代码,甚至建议使用 header ,但我想摆脱它,因为我正在使用的程序之一在这里有问题。

我似乎无法在 xml.dom.minidom 中找到合适的选项,所以我想知道是否还有其他包允许忽略 header 。

干杯,

妮可

最佳答案

不幸的是,minidom 没有提供省略 XML 声明的选项。

但是您始终可以通过在文档的根元素而不是 document 上调用 toxml() 来自行序列化文档内容。那么您将不会获得 XML 声明:

xml= document.documentElement.toxml('utf-8')

...但是您也不会得到根元素之外的任何其他内容,例如 DOCTYPE,或任何注释或处理指令。如果你需要它们,一个一个地序列化文档对象的每个子对象:

xml= '\n'.join(node.toxml('utf-8') for node in document.childNodes)

I wondered if there are other packages which do allow to neglect the header.

DOM 级别 3 LS defines一个 xml-declaration 配置参数,你可以用来抑制它。我所知道的唯一 Python 实现是 pxdom,它在标准支持方面非常全面,但一点也不快。

关于python - 如何在 Python 中编写没有标题的 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2933262/

相关文章:

xml - 在 Powershell 中添加回车符以手动漂亮地打印大型 XML 文件

xml - 如何继承 qweb 报告模板并替换 odoo 中的 t 元素

python - ValueError : freq T not understood. 如果您认为这有误,请报告。 (季节性分解)

python - 在特定字符后分割字符串

php - Lua 与 PHP/Python/JSP/等

.net - 具有 XML 序列化的自定义节点名称 (.NET)

xml - XmlBuilder.processing 可以接受更多参数吗?

android - 如何使用 xml 按钮以编程方式禁用按钮

python - pyodbc 到 Sage ERP MAS 200 驱动程序错误

python - python 2.7.6至2.7.12破坏了我的脚本