我有一些要验证的 XML 文件,我必须使用 Python 进行验证。我尝试使用 lxml 的 XSD 对其进行验证。但我只收到一个首先发生的错误,但我需要所有错误和不匹配...
我有一些要验证的 XML 文件,我必须使用 Python 来验证。我尝试使用 lxml 的 XSD 来验证它。但我只得到一个错误,它首先发生,但我需要 XML 文件中的所有错误和不匹配。有什么方法可以设法使用 lxml 获取所有错误的列表吗?或者还有其他 Python 解决方案吗?
使用 lxml
,您可以迭代 error_log
并打印每个错误的行号和错误消息:
def validate_with_lxml(xsd_tree, xml_tree):
schema = lxml.etree.XMLSchema(xsd_tree)
try:
schema.assertValid(xml_tree)
except lxml.etree.DocumentInvalid:
print("Validation error(s):")
for error in schema.error_log:
print(" Line {}: {}".format(error.line, error.message))