0

我想用 Python 解析一个 XML 文件。我不需要分层标记结构——我只需要一个简单的 SAX 或基于 Expat 的解析器。但是,当 XML 文件格式不正确时,它们都会失败并显示mismatched tag-related 错误消息。

有没有办法告诉解析器忽略这些错误?我尝试过了

parser.setFeature(sax.handler.feature_validation, False)

,但这也无济于事。

有解决办法吗?SAX/Expat 都可以。

4

2 回答 2

0

你应该试试美丽的汤。它的主要目的是即使在存在畸形的情况下也能解析 HTML。您可能会发现它可以轻松解析无效的 XML。

于 2015-12-18T15:03:54.783 回答
0

你还会使用lxml吗?它有一个名为 的函数iterparse,它是以(根据文档)“类似 SAX 的方式”进行事件驱动的解析,并且有一个参数来强制解析损坏的输入。它也相当容易使用。

lxml iterparse教程

lxml iterparse 类定义

于 2015-12-18T15:58:00.950 回答