python xml.eTree.ElementTree 模块生成xml文件缩进问题?

新手上路,请多包涵

我觉得这个模块用来构建xml文档很不错,但是写成文件有问题。1是会缺少xml头部声明,2是没有缩进。像minidom模块生成的就很好。请问大家怎么解决这个问题?希望讲具体点。

阅读 9k
3 个回答

xml头部声明是支持的,
xml.write("your_file.xml", xml_declaration=True, encoding="utf-8", method="xml")
这样写就可以生成。

没有缩进,写入文件之前缩进一下不就行了。
没xml头部,写入文件前加一行不就行了……

新手上路,请多包涵

这个问题我已经解决了。就是先转化成string,再用minidom模块输出成xml文档。比如:

    xml_string = ET.tostring(Rp)
    xml_write = DOM.parseString(xml_string)
    with open(output_path, 'w') as handle:
        xml_write.writexml(handle, indent='  ', newl='\n', encoding='utf-8')

其中Rp是我构建的xml。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题