Вероятно, ваша проблема в том, что вы все правильно проанализировали, и теперь вы пытаетесь напечатать содержимое XML, а вы не можете, потому что есть некоторые иностранные символы Unicode.Попробуйте сначала закодировать вашу строку юникода как ascii:
unicodeData.encode('ascii', 'ignore')
часть 'ignore' скажет ему просто пропустить эти символы.Из документации по питону:
>>> 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,, которую я нашел очень полезным в качестве основного учебного пособия о том, что происходит.После прочтения вы перестанете чувствовать, что просто угадываете, какие команды использовать (или, по крайней мере, это случилось со мной).