Consider:
>>> from StringIO import StringIO
>>> source = StringIO('<body xmlns="http://éffbot.org/ns">text</body>')
>>> import xml.etree.ElementTree as ET
>>> events = ("start-ns",)
>>> context = ET.iterparse(source, events)
>>> for action, elem in context:
... print action, elem
...
start-ns ('', u'http://\xe9ffbot.org/ns')
>>> source.seek(0)
>>> import xml.etree.cElementTree as cET
>>> context = cET.iterparse(source, events)
>>> for action, elem in context:
... print action, elem
...
start-ns ('', 'http://\xc3\xa9ffbot.org/ns')
I'm not sure which is more correct here, but unsing different encodings
in the result is somewhat unexpected. |