Проверка xml по xsd на Python через lxml

В библиотеке lxmlopen in new window содержаться функции для проверки xml по xsdopen in new window. Пример кода:

from lxml import etree

# Загрузка xsd схемы
xsd_file_name = r'schema.xsd'
schema_root = etree.parse(xsd_file_name)
schema = etree.XMLSchema(schema_root)

# Загрузка xml

xml_filename = 'file.xml'
xml = etree.parse(xml_filename)

# Проверка

if not schema.validate(xml):
    print(schema.error_log)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Метод validate возвращает False если xml не проходит проверку по схеме. Свойство error_log содержит список несоответствий xml схеме из xsd.

Последниее изменение: 24.08.2023, 06:42:55