我正在用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换行符\r\n
',现在我明白了:
<?xml version='1.0' encoding='iso-8859-1'?><tag1 = "1">
</tag1>
但是,我想在每一行后面都有正确的换行符,这样我的输出应该是这样的:
<?xml version='1.0' encoding='iso-8859-1'?>
<tag1 = "1">
</tag1>
我怎样才能做到这一点?
答案 0 :(得分:2)
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)
请参阅Python pretty XML printer for XML string和Pretty printing XML in Python