当使用 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/