温馨提示×

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

小亿
85
2024-05-14 11:26:17
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

可以使用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属性来获取详细的验证错误信息。

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

推荐阅读:lxml怎么捕获Schematron验证的错误

0