我有一些要验证的 XML 文件,我必须使用 Python 进行验证。我尝试使用 lxml 的 XSD 对其进行验证。但我只收到一个首先发生的错误,但我需要所有错误和不匹配...
我有一些要验证的 XML 文件,我必须使用 Python 来验证。我尝试使用 lxml 的 XSD 来验证它。但我只得到一个错误,它首先发生,但我需要 XML 文件中的所有错误和不匹配。有什么方法可以设法使用 lxml 获取所有错误的列表吗?或者还有其他 Python 解决方案吗?
def get_validation_errors(xml_file, xsd_file):
schema = xmlschema.XMLSchema(xsd_file)
validation_error_iterator = schema.iter_errors(xml_file)
errors = list()
for idx, validation_error in enumerate(validation_error_iterator, start=1):
errors.append(validation_error.__str__())
print(
f'[{idx}] path: {validation_error.path} | reason: {validation_error.reason} | message: {validation_error.message}')
return errors