0

見る:

>>> import xml.etree.ElementTree as et

>>> xmlstring = """<?xml version="1.0" encoding="UTF-8"?>
... <dm>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
...     &lt;string&gt;R\xc3\xa9sum\xc3\xa9&lt;/string&gt;
... </dm>
... """

XML ソースは UTF-8 でエンコードされています ( \xc3\xa9= é):

>>> print xmlstring
<?xml version="1.0" encoding="UTF-8"?>
<dm>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
     &lt;string&gt;Résumé&lt;/string&gt;
</dm>

さて、これを解析しましょう:

>>> dm = et.fromstring(xmlstring)
>>> dm.text
u'<?xml version="1.0" encoding="UTF-8"?>\n     <string>R\xe9sum\xe9</string>\n'

ご覧のとおり、\xc3\xa9(utf-8) 文字は\xe9(iso-8859-1) に変換されています。

4

2 に答える 2