如何在python xml.etree模块中插入换行符

时间:2013-04-22 11:12:14

标签: python xml escaping newline

我想像这样打印出xml:

<xml>
    <tag>
        this is line 1.
        this is line 2.
    </tag>
</xml>

我有一段这样的代码:

from xml.etree import ElementTree as ET
xml = ET.Element('xml')
tag = ET.SubElement(xml, 'tag')
tag.text = 'this is line 1.' + '&#x000A;' + 'this is line 2.'
tree = ET.ElementTree(xml)
tree.write('test.xml')

但它打印出来像这样:

<xml>
    <tag>this is line 1.&#x000A;this is line 2.</tag>
</xml>

当我使用'\n'代替'&#x000A;'时,输出如下:

<xml>
    <tag>this is line 1. this is line 2.</tag>
</xml>

如何在'这是第1行'之间插入newline。并且'这是第2行。'

1 个答案:

答案 0 :(得分:2)

使用'\ n'制作新行I.e

from xml.etree import ElementTree as ET
xml = ET.Element('xml')
tag = ET.SubElement(xml, 'tag')
tag.text = 'this is line 1.' + '\n' + 'this is line 2.'
tree = ET.ElementTree(xml)
tree.write('test.xml')

将产生

<xml><tag>this is line 1.
this is line 2.</tag></xml>

这相当于

<xml>
    <tag>
        this is line 1.
        this is line 2.
    </tag>
</xml>