我遇到了SAX xml解析器的问题。 我想解析一个显然无效的xml文件(我得到一个ExpatParser $ ParseException:第5行,第169列:格式不正确(无效令牌))。我知道出了什么问题,但xml文件不是由我创建的......所以我无法改变它。
现在我想在DefaultHandler中处理该错误。但是没有调用error(),fatalError()和warning()......
我可以以某种方式中断解析过程,告诉解析器如何处理这段无效的xml并继续解析???
谢谢, JPM
答案 0 :(得分:1)
我猜这个SAXParseException是SAX解析器无法恢复的fatal error。在这种情况下,您可能需要在尝试解析之前修复坏标记(正如Robert在评论中所建议的那样)。
您可能希望使用Java Regex来修复XML中的已知错误,例如
Regex for quoting unquoted XML attributes
为了记录,我不主张使用regex to actually parse XML!