0

代码

我正在用 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>

我怎样才能做到这一点?

4

1 回答 1

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)

有关XML 字符串的 Python 漂亮 XML 打印机Python 中漂亮的打印 XML,请参见 Python 漂亮的 XML 打印机

于 2012-10-19T13:31:09.503 回答