为CelementTree指定Newline字符



代码

我正在用这样的celementtree编写XML文件:

cElementTree.ElementTree(xml_tree]).write(xmlPath, encoding="ISO-8859-1", xml_declaration=True)  

实际结果

这给出以下文件(在Windows上):

<?xml version='1.0' encoding='iso-8859-1'?><tag1 = "1"></tag1>

因此,新线丢失了。

我尝试添加适当的Windows Newline字符rn'手工',现在我得到了:

<?xml version='1.0' encoding='iso-8859-1'?><tag1 = "1">
</tag1>

所需结果

但是,我想在每行之后具有正确的newline字符,以便我的输出应该看起来:

<?xml version='1.0' encoding='iso-8859-1'?>
<tag1 = "1">
</tag1>

我该如何实现?

lxml支持漂亮的打印, cElementTree不。

from lxml import etree
xml_str = "<parent><child>text</child><child>other text</child></parent>"
root = etree.fromstring(xml_str)
print etree.tostring(root, pretty_print=True)

最新更新