LXML 以 unicode 编写?

LXML to write in unicode?

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

<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')

来自etree.tostring docs:

You can also serialise to a Unicode string without declaration by passing the unicode function as encoding (or str in Py3), or the name 'unicode'. This changes the return value from a byte string to an unencoded unicode string.