Чтение XML с использованием другой кодировки с использованием Python Mindom
Я написал скрипт для чтения XML-файлов с использованием minidom:
from xml.dom.minidom import parse
for File in Data['FileList']:
Xml = parse(File)
#do something
который работает нормально, но некоторые парни создают XML, определяющие кодировку UTF-8 в XML и использующие Umlaute в тегах, поэтому я наткнулся на xml.parsers.expat.ExpatError: не правильно сформирован (неверный токен).
Если я вручную изменяю в XML на encoding="ISO-8859-1", он работает нормально.
Существует ли более элегантный способ изменить кодировку вместо редактирования файлов XML, например, сказать minidom, что нужно использовать кодировку, отличную от определенной в XML?
1 ответ
Я предлагаю вам это решение:
Перед синтаксическим анализом файла откройте его как обычно и замените первую строку, соответствующую заголовку XML, на следующую строку:
<?xml version="1.0" encoding="ISO-8859-1"?>
Затем сохраните файл и вставьте его в minidom.parse()
функция.
Это может помочь вам заменить первую строку строки в каждом файле: Поиск и замена строки в файле в Python