用unicode编写的LXML



我目前正在使用lxml编写文件。我构建节点,然后使用etree.tostring(node, pretty_print=True)将其写入文件。然而,它似乎在使用htmlcoding——

<Synopsis>
    Abila schlie&#223;lich die ersten sechs Aufgaben zu meistern. Wird der Junge auch 
</Synopsis>

为了破译它并把它变成我想要的格式,我目前正在做:

>>> print HTMLParser.HTMLParser().unescape('Abila schlie&#223;lich die ersten sechs Aufgaben zu meistern. Wird der Junge auch')
Abila schließlich die ersten sechs Aufgaben zu meistern. Wird der Junge auch

我如何用unicode写这个,或者这是不可能的lxml ?

可以使用encoding参数传递编码给etree.tostring方法:

etree.tostring(node, pretty_print=True, encoding='unicode')

From etree.tostring docs:

也可以序列化为Unicode字符串,而不需要通过传递unicode函数作为encoding(或Py3中的str),或名称'unicode'。这将改变字节字符串的返回值到一个未编码的unicode字符串。

最新更新