XMLSchema:是否可以计算无效文档的有效性(例如,百分比)?
发布时间:2020-12-16 23:29:12 所属栏目:百科 来源:网络整理
导读:我在 Python中使用lxml来根据XML Schema定义验证大量XML文档.很多这些文件都没有验证 – 而且目前它们并没有被预期 – 但是如果我能够计算它们的有效性(百分比)用于报告目的,那将是有用的.我有能力使用xmllint或其他命令行工具,如果能够提供有用的统计数据.
我在
Python中使用lxml来根据XML Schema定义验证大量XML文档.很多这些文件都没有验证 – 而且目前它们并没有被预期 – 但是如果我能够计算它们的有效性(百分比)用于报告目的,那将是有用的.我有能力使用xmllint或其他命令行工具,如果能够提供有用的统计数据.
解决方法
lxml解析器提供了一种在尝试解析文档时获取
a list of the errors的方法.将它与解析器的
recover keyword argument结合起来就可以得到这样的结果:
# Warning,untested,may not work parser = etree.XMLParser(recover=True) it_would_be_a_tree = etree.parse(your_xml_data,parser) total_errors = len(parser.error_log) 然后,您可以计算total_errors表示的文件的百分比.您可以使用天真的度量,例如每行错误或每个字符的错误,没有任何问题.如果it_would_be_a_tree实际上是树结构(例如,total_elements / total_errors),则也可以采用更复杂的度量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |