禁用Java Xerces中的日志记录(“致命错误]:1:1:prolog中不允许有内容。”

禁用Java Xerces中的日志记录(“致命错误]:1:1:prolog中不允许有内容。”,java,xml,xerces,Java,Xml,Xerces,我的应用程序希望它有时会尝试解析无效的XML文档。我当前捕获了“SAXParseException:prolog中不允许内容”异常,该异常工作正常。但是,Xerces仍然觉得需要将自己的消息打印到控制台: [Fatal Error] :1:1: Content is not allowed in prolog. 有什么方法可以禁用此功能吗?我认为默认情况下它是打印到System.out或System.err。如果您直接与Xerces类交互,则可以在解析器上设置ErrorHandler接口 否则

我的应用程序希望它有时会尝试解析无效的XML文档。我当前捕获了“SAXParseException:prolog中不允许内容”异常,该异常工作正常。但是,Xerces仍然觉得需要将自己的消息打印到控制台:

[Fatal Error] :1:1: Content is not allowed in prolog.

有什么方法可以禁用此功能吗?

我认为默认情况下它是打印到System.out或System.err。如果您直接与Xerces类交互,则可以在解析器上设置ErrorHandler接口


否则,您可以尝试使用XMLErrorReporter实例在SAXParser上设置属性org.apache.xerces.impl.Constants.ERROR\u REPORTER\u属性,我最近遇到了同样的需求。将ErrorHandler设置为null将抑制致命错误打印行

parser.setErrorHandler(null);
使用时的等效项是

我今天遇到了这个问题,结果是我在阅读了你们的答案后才发现的一个问题。谢谢

parser.getDomConfig().setParameter("error-handler", null);