Проверка на Python XML в отношении схемы lxml

Zakerias спросил: 11 июня 2018 в 10:46 в: python

Я пытаюсь проверить документ 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.

Спасибо заранее.

0 ответов