Я думаю, что проблема связана с кодировкой файла, который вы читаете.
Почему вы пытаетесь разобрать его с ASCII ??
Если вы попытаетесь прочитать тот же XML из строки Python без ASCII, все должно работать нормально:
import xmltodict
xml = """<DECL>!! आप की सेवा में पुनः पधारे !!</DECL>"""
xmltodict.parse(xml, process_namespaces=True)
Результат:
OrderedDict([('DECL', '!! आप की सेवा में पुनः पधारे !!')])
Используя файл с этой единственной строкой ввода, я могу правильно проанализировать его с помощью:
import xmltodict
input_xml = 'tmp.txt' # This is the source file
with open(input_xml, encoding='utf-8', mode='r') as _file:
data = _file.read()
data = xmltodict.parse(data)
print(data)
Скорее всего, проблема в том, что вы пытаетесь разобрать его как "ASCII".