2

我正在使用 JTidy 清理一些 XML,如下所示:

Tidy tidy = new Tidy();
tidy.setXmlOut(true);
tidy.setShowWarnings(false);
tidy.parse(new FileInputStream(strStrippedHTMLPath), new FileOutputStream(strXMLPath));

问题是它总是输出以下内容:

InputStream: Document content looks like HTML 4.01
5 warnings, no errors were found!

我怎样才能防止它输出任何东西?我试过:

tidy.setShowErrors(0);
tidy.setQuiet(true);
tidy.setErrout(null);

,如此处所示但这也不起作用。

4

2 回答 2

1

好吧,总是有:

PrintStream oldErr = System.err();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream newErr = new PrintStream(boas);
System.setErr(newErr);
tidy.parse(...);
System.setErr(oldErr);

最好使用某种 Null 输出流(显然 Apache Commons 有这样的野兽)。但它的要点是一样的。

当然,这有点小题大做……

于 2013-02-03T21:25:24.000 回答
1

而不是tidy.setErrout(null); 使用tidy.setErrout(new PrintWriter(new ByteArrayOutputStream())); 这似乎对我有用。

于 2017-10-10T06:36:36.007 回答