lxml怎么捕获Schematron验证的错误

289
2024/6/2 15:33:18
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何使用lxml处理XML文档中的CDATA部分