您的位置:宽带测速网 > 编程知识 > lxml怎么捕获Schematron验证的错误

lxml怎么捕获Schematron验证的错误

2025-07-04 09:26来源:互联网 [ ]

在lxml中捕获Schematron验证的错误,可以使用lxml.etree.schematron模块的from_schematron函数来加载Schematron规则,然后使用lxml.etree.Schematron对象的assertValid方法来验证XML文档。如果验证失败,会抛出lxml.etree.DocumentInvalid异常,可以在异常中捕获验证错误信息。

下面是一个示例代码:

from lxml import etree# 加载Schematron规则schema_doc = etree.parse('your_schematron_schema.sch')schema = etree.Schematron(schema_doc)# 验证XML文档xml_doc = etree.parse('your_xml_doc.xml')try:schema.assertValid(xml_doc)print('XML文档通过Schematron验证')except etree.DocumentInvalid as e:print('XML文档未通过Schematron验证:')print(e)

在上面的代码中,首先加载Schematron规则并创建Schematron对象,然后使用assertValid方法验证XML文档。如果验证失败,会捕获DocumentInvalid异常,并打印错误信息。