使用xml.dom.minidom移除<?xml version="1.0" ?>。

5
我正在使用xml.dom.minidom生成XML文件。每次生成文件时,第一行都会出现<?xml version="1.0" ?>,生成的文件看起来像这样:
<?xml version="1.0" ?> 
 <Root>
     data 
 </Root>

没有任何方法可以在没有

标签的情况下输出内容,我的输出应该看起来像什么。

 <Root>
      data 
 </Root>

您可能想要查看您发布的样例。 - Gusdor
2
你能解释一下为什么你想要移除它吗?XML声明在最坏的情况下是必要的,在最好的情况下完全无害。 - Tomalak
实际上,我正在为移动通信网关生成一些文件,并且配置为在没有这些文件的情况下读取它会出现错误。 - G.Jan
@Gusdor 我已经在之前的评论中回答了。我一直在寻找不同的模块,但是没有找到任何解决方案。 - G.Jan
@Gusdor 我正在使用Python。 - G.Jan
显示剩余3条评论
3个回答

4
我找到的最佳解决方案是写出 .childNodes[0],即写成:
doc.childNodes[0].toprettyxml()

写入文件时,会省略XML版本标签。


1
如果您只想从文件中裁剪第一行,可以使用以下代码;
f = open( 'file.txt', 'r' )
lines = f.readlines()
f.close()

f = open( 'file.txt'.'w' )
f.write( '\n'.join( lines[1:] ) )
f.close()

我曾尝试使用.readlines/.readline方法读取第一行,但它给了我根节点。 - G.Jan

0

这个函数会处理给定的XML数据并将其剔除:

new_data = old_data[old_data.find("?>")+2:]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接