我的应用程序希望它有时会尝试解析无效的XML文档.我目前抓住了"SAXParseException:prolog中不允许内容." 例外,工作正常.但是,Xerces仍然觉得需要将自己的消息打印到控制台:
[Fatal Error] :1:1: Content is not allowed in prolog.
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用它?
Dav*_*ave 10
我刚刚遇到了同样的需求.将ErrorHandler设置为null会抑制致命错误打印行.
parser.setErrorHandler(null);
Run Code Online (Sandbox Code Playgroud)
我相信它默认是打印到System.out或System.err.如果您直接与Xerces类进行交互,则可以在Parser上设置ErrorHandler接口.
否则,您可以尝试使用XMLErrorReporter实例在SAXParser上设置属性org.apache.xerces.impl.Constants.ERROR_REPORTER_PROPERTY.