有一个xml文件:

<body>
    <entry>
         I go to <hw>to</hw> to school.
    </entry>
</body>

出于某种原因,在使用 lxml 解析器解析之前,我将 <hw> 更改为 &lt;hw&gt;,将 </hw> 更改为 &lt;/hw&gt;
<body>
    <entry>
         I go to &lt;hw&gt;to&lt;/hw&gt; to school.
    </entry>
</body>

但是在修改解析的 xml 数据后,我想得到一个 <hw> 元素,而不是 &lt;hw&gt; 。我怎样才能做到这一点?

最佳答案

首先找到一个unescape函数:

from xml.sax.saxutils import unescape

entry=body[0]

unescape 并用原来的替换它:
body.replace(entry, e.fromstring(unescape(e.tounicode(entry))))

关于python - 如何在 lxml、Python 中将 < 转换为 <?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14659423/

10-12 18:12