Probablemente, su problema es que lo analizó bien, y ahora está intentando imprimir el contenido del XML y no puede porque hay algunos caracteres Unicode extranjeros. Intente codificar su cadena unicode como ascii primero:
unicodeData.encode('ascii', 'ignore')
la parte 'ignorar' le dirá que se salte esos caracteres. De los documentos de Python:
>>> u = unichr(40960) + u'abcd' + unichr(1972)
>>> u.encode('utf-8')
'\xea\x80\x80abcd\xde\xb4'
>>> u.encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeEncodeError: 'ascii' codec can't encode character '\ua000' in position 0: ordinal not in range(128)
>>> u.encode('ascii', 'ignore')
'abcd'
>>> u.encode('ascii', 'replace')
'?abcd?'
>>> u.encode('ascii', 'xmlcharrefreplace')
'ꀀabcd޴'
Es posible que desee leer este artículo: http://www.joelonsoftware.com/articles/Unicode.html , que encontré muy útil como tutorial básico sobre lo que está sucediendo. Después de la lectura, dejará de sentirse como si estuviera adivinando qué comandos usar (o al menos eso me pasó a mí).
unicode()
?