好的,Python 的 libxml2 绑定的文档确实是****
. 我的问题:
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 编码的字符串?