我lxml
在 Python 中使用 XML 模式定义来验证许多 XML 文档。很多这些文件都没有验证——目前预计它们不会验证——但如果我可以计算它们的有效性(以百分比形式)以用于报告目的,那将很有用。xmllint
如果能够提供有用的统计数据,我有能力使用或其他命令行工具。
问问题
147 次
1 回答
1
lxml
解析器提供了一种方法来获取在尝试解析文档时发生的错误列表。将它与解析器的recover
关键字参数结合起来,你会得到这样的结果:
# 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
如果实际上是一个tree
结构(total_elements / total_errors
例如 ),则更复杂的测量也是可能的。
于 2013-04-30T01:17:20.617 回答