Я пытаюсь проверить документ XML на соответствие его XSD на Python.
В настоящее время я следую этому учебнику.
Я могу читать в своем XML-файле без проблем. Однако мне нужно предоставить тип кодировки для схемы. В противном случае возникает ошибка 'charmap' codec can't decode byte 0x81
.
with open(os.path.join(settings.MEDIA_ROOT, xsd_filename), 'r', encoding='utf-8') as schema_file:
schema_to_check = schema_file.read()
Тем не менее, когда я добавляю кодировку etree не может проанализировать содержимое файла? Возвращенная ошибка Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration.
xmlschema_doc = etree.parse(StringIO(schema_to_check))
Я не уверен, что знаю, что происходит. С сайта lxml создается впечатление, что я должен оставить кодировку в покое, но я не уверен, почему учебник работает, а мой нет?
Моя версия Python - 3.6.4.
Заранее спасибо.