我使用的是python版本2.7.3。
的test.txt:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<test>The tag <StackOverflow> is good to bring up at parties.</test>
</root>
结果:
>>> import xml.etree.ElementTree as ET
>>> e = ET.parse('test.txt')
>>> root = e.getroot()
>>> print root.find('test').text
The tag <StackOverflow> is good to bring up at parties.
如您所见,解析器必须已将<
更改为<
等。
我希望看到的内容:
The tag <StackOverflow> is good to bring up at parties.
未触动的原始文字。有时我真的很喜欢它。未煮过。
我希望将此文本原样用于在HTML中显示,因此我不希望XML解析器弄乱它。
我是否必须重新逃离每根弦?还是可以采用其他方式?
答案 0 :(得分:2)
import xml.etree.ElementTree as ET
e = ET.parse('test.txt')
root = e.getroot()
print(ET.tostring(root.find('test')))
产量
<test>The tag <StackOverflow> is good to bring up at parties.</test>
或者,您可以使用saxutils.escape转义文本:
import xml.sax.saxutils as saxutils
print(saxutils.escape(root.find('test').text))
产量
The tag <StackOverflow> is good to bring up at parties.