好的,Python的libxml2绑定文档确实是****
。我的问题:Python的libxml2无法解析unicode字符串
XML文档存储在Python中的字符串变量中。该字符串是Unicode的一个实例,并且其中包含非ASCII字符。我想用的libxml2解析它,看起来像这样:
# -*- coding: utf-8 -*-
import libxml2
DOC = u"""<?xml version="1.0" encoding="UTF-8"?>
<data>
<something>Bäääh!</something>
</data>
"""
xml_doc = libxml2.parseDoc(DOC)
这个结果:
Traceback (most recent call last):
File "test.py", line 13, in <module>
xml_doc = libxml2.parseDoc(DOC)
File "c:\Python26\lib\site-packages\libxml2.py", line 1237, in parseDoc
ret = libxml2mod.xmlParseDoc(cur)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 46-48:
ordinal not in range(128)
点是u"..."
声明。如果我用简单的".."
替换它,那么一切都很好。不幸的是,它不起作用,因为DOC
肯定会是一个Unicode实例。
有没有人知道libxml2如何解析UTF-8编码的字符串?
'u“...”'是一个** unicode字符串**,它的内部编码不是你所关心的,它不是UTF-8。 – u0b34a0f6ae
也适用于urrllib2等 –