3

我的 SAX xml 解析器有问题。我想解析一个显然无效的 xml 文件(我得到一个 ExpatParser$ParseException:在第 5 行,第 169 列:格式不正确(无效令牌))。我知道出了什么问题,但是 xml 文件不是我创建的……所以我无法更改它。

现在我想在我的 DefaultHandler 中处理那个错误。但是既没有调用 error() 也没有 fatalError() 也没有调用 warning() ......

我能否以某种方式中断解析过程,告诉解析器如何处理那段无效的 xml 并继续解析???

谢谢,摩根大通

4

1 回答 1

1

我猜想这个 SAXParseException 是SAX 解析器无法恢复的致命错误。在这种情况下,您可能需要在尝试解析错误标签之前修复它(正如罗伯特在他的评论中建议的那样)。

您可能想研究使用 Java Regex 来修复 XML 中的已知缺陷,例如
Regex 用于引用未引用的 XML 属性

作为记录,我提倡使用正则表达式来实际解析 XML

于 2011-04-28T22:53:42.117 回答