用pythondomminidom创建没有序言的xml文件

2024-10-06 12:25:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python的dominidom库创建一个xml文件。但是我想创建不带prolog <?xml version="1.0"?>的xml文件。我用doc.writexml()请你给我一些线索好吗?在


Tags: 文件docversionxmlprolog线索writexmldominidom
1条回答
网友
1楼 · 发布于 2024-10-06 12:25:53

你不能直接这么做。但是有两种方法可以做到。在

首先,去掉它并不难。例如:

xml = x.toxml()
with open('foo.xml', 'w') as f:
    f.write(xml.partition('>')[2])

或者,如果您不想在内存中生成整个字符串,您可以编写一个文件包装器来吞下序言:

^{pr2}$

显然,吞下“直到第一个>的所有内容”是检测XML prolog的一种有点老套的方法……但它是有效的。在实际的代码中,我可能会添加一个注释来解释这是可行的,以及为什么,但是要使用它。在

或者,你可以在没有序言的情况下,依赖第一个文件:

with open('foo.xml', 'w') as f:
    x.firstChild.writexml(f)

相关问题 更多 >