gpt4 book ai didi

python - 如何在未触及的 python etree 中正确转义 XML?

转载 作者:数据小太阳 更新时间:2023-10-29 02:10:48 24 4
gpt4 key购买 nike

我使用的是 python 版本 2.7.3。

测试.txt:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<test>The tag &lt;StackOverflow&gt; 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.

如您所见,解析器一定已经更改了 &lt;<的等

我想看到的:

The tag &lt;StackOverflow&gt; is good to bring up at parties.

未修改的原始文本。有时我真的很喜欢生吃。生的。

我想按原样使用此文本在 HTML 中显示,因此我不希望 XML 解析器弄乱它。

我必须重新转义每个字符串还是可以有其他方法?

最佳答案

import xml.etree.ElementTree as ET
e = ET.parse('test.txt')
root = e.getroot()
print(ET.tostring(root.find('test')))

产量

<test>The tag &lt;StackOverflow&gt; 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 &lt;StackOverflow&gt; is good to bring up at parties.

关于python - 如何在未触及的 python etree 中正确转义 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23516664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com