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>

したがって、改行が欠落しています。

適切なウィンドウの改行文字\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文字列についてはPythonPrettyXMLプリンターを、PythonでのXMLのPretty印刷を参照してください。

于 2012-10-19T13:31:09.503 に答える