如何在java中删除Jtidy中的警告
我正在java中使用Jtidy解析器如何在java中删除Jtidy中的警告,java,jtidy,Java,Jtidy,我正在java中使用Jtidy解析器 URL url = new URL("www.yahoo.com"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); InputStream in = conn.getInputStream(); doc = new Tidy().parseDOM(in, null); 当我运行此命令时,“doc=new Tidy().parseDOM(in,null);” 我收到
URL url = new URL("www.yahoo.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream in = conn.getInputStream();
doc = new Tidy().parseDOM(in, null);
当我运行此命令时,“doc=new Tidy().parseDOM(in,null);”
我收到如下警告:
Tidy (vers 4th August 2000) Parsing "InputStream"
line 140 column 5 - Warning: <table> lacks "summary" attribute
InputStream: Doctype given is "-//W3C//DTD XHTML 1.0 Strict//EN"
InputStream: Document content looks like HTML 4.01 Transitional
1 warnings/errors were found!
请帮助我,如何执行此操作,如何从控制台中删除这些警告。如果要将JTidy警告重定向到(比如)log4j记录器,请阅读 如果您只是想让它们消失(以及其他控制台输出),则使用
System.setOut()
和/或System.setErr()
将输出发送到文件。。。或者黑洞
对于jtidyrelease8(或更高版本),该方法更优雅地处理消息
或者,您可以向
webmaster@yahoo.com
:-) 查看文档,我发现了一些方法,可以满足您的需要
有setShowErrors
、setQuiet
和setErrout
。您可能需要尝试以下操作:
Tidy tidy = new Tidy();
tidy.setShowErrors(0);
tidy.setQuiet(true);
tidy.setErrout(null);
doc = tidy.parseDOM(in, null);
其中一个可能已经足够了,这些都是我找到的选择。请注意,这只会隐藏消息,而不会对其执行任何操作。还有
setForceOutput
来获取输出,即使生成了错误。查看文档,我发现在这种特殊情况下,另一种方法对我来说似乎更好:setShowWarnings(boolean)
。此方法将隐藏警告,但仍将抛出错误
有关更多信息,请查看此处:
)根据Joost的回答,我认为这是最好的解决方案:
Tidy tidy = new Tidy();
tidy.setShowErrors(0);
tidy.setShowWarnings(false);
tidy.setQuiet(true);
这三点都是必要的
Writer out = new NullWriter();
PrintWriter dummyOut = new PrintWriter(out);
tidy.setErrout(dummyOut);
Tidy tidy = new Tidy();
tidy.setShowErrors(0);
tidy.setShowWarnings(false);
tidy.setQuiet(true);