温馨提示×

lxml如何捕获XML文档的验证错误

小亿
84
2024-05-14 11:26:17
栏目: 编程语言

可以使用lxml的etree模块中的XMLSchema和RelaxNG类来捕获XML文档的验证错误。下面是一个示例代码:

from lxml import etree

# 定义XML Schema
schema = etree.XMLSchema(etree.parse('schema.xsd'))

# 解析XML文档
xml_doc = etree.parse('document.xml')

# 验证XML文档
try:
    schema.assertValid(xml_doc)
    print("XML document is valid.")
except etree.DocumentInvalid as e:
    print("XML document is invalid:")
    for error in e.error_log:
        print(error)

在上面的示例中,我们首先定义了一个XML Schema,并解析了要验证的XML文档。然后,我们使用XMLSchema类的assertValid方法来验证XML文档。如果XML文档是无效的,会抛出DocumentInvalid异常,我们可以通过error_log属性来获取详细的验证错误信息。

0