我有一个SAX xml解析器的问题。
我想解析一个明显无效的xml文件(我得到了ExpatParser$ParseException: 在第5行,第169列:格式不正确(无效的标记))。我知道出了什么问题,但这个xml文件不是我创建的...所以我不能改变它。
现在我想在我的DefaultHandler中处理这个错误。但是error()、fatalError()和warning()都没有被调用...
我能否以某种方式中断解析过程,告诉解析器如何处理那个无效的xml片段并继续解析?
谢谢,
JPM
我猜测这个SAXParseException是一个致命错误,SAX解析器无法从中恢复。在这种情况下,您可能需要在尝试解析之前修复不良标记(如Robert在评论中建议的那样)。
您可能需要考虑使用Java Regex来修复XML中已知的错误,例如:
Regex for quoting unquoted XML attributes
值得注意的是,我不主张使用regex to actually parse XML!