【发布时间】:2011-12-03 05:51:31
【问题描述】:
我正在编写一些单元测试,它们故意将错误的字符串传递给 Java DOM XML 解析器。
例如
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
String message_xml = ""; // Empty string, not valid XML!!!
ByteArrayInputStream input = new ByteArrayInputStream(message_xml.getBytes());
Document doc = db.parse(input);
这正确地引发了 SAXParseException(这是我的单元测试所期望的)。但它也在Java控制台中向System.err(stderr)写了一条消息:
[Fatal Error] :1:1: Premature end of file.
有什么方法可以将 XML 解析器配置为不写入 stderr?
我使用的是 Java 1.6SE。
【问题讨论】:
-
尝试配置包的记录器?但是为什么这很重要——它们是单元测试。
标签: java xml dom xml-parsing