lxml

lxml怎么捕获Schematron验证的错误

小亿
84
2024-05-15 15:33:18
栏目: 编程语言

在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异常,并打印错误信息。

0
看了该问题的人还看了