Вероятно, ваша проблема в том, что вы правильно его проанализировали, и теперь вы пытаетесь распечатать содержимое XML и не можете, потому что есть некоторые иностранные символы Unicode. Попробуйте сначала закодировать вашу строку Unicode как ascii:
unicodeData.encode('ascii', 'ignore')
часть «игнорировать» скажет ему просто пропустить эти символы. Из документов 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޴'
Возможно, вы захотите прочитать эту статью: http://www.joelonsoftware.com/articles/Unicode.html , которую я нашел очень полезной в качестве базового руководства по происходящему. После прочтения вы перестанете чувствовать, что просто гадаете, какие команды использовать (или, по крайней мере, это случилось со мной).
unicode()
?