阅读量: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属性来获取详细的验证错误信息。