用unicode写LXML?

时间:2015-06-05 01:21:40

标签: python unicode lxml

我目前正在使用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无法进行此操作?

1 个答案:

答案 0 :(得分:2)

是的,您可以使用etree.tostring参数将编码传递给encoding方法:

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

来自etree.tostring docs

  

您也可以序列化为Unicode字符串,而无需声明   将unicode函数作为编码传递(或在Py3中传递str),或   名字'unicode'。这会更改字节字符串的返回值   到未编码的unicode字符串。