2010-03-16 69 views
2

我能够解析HTML,但我想从解析的HTML中提取警告消息并将其显示给用户。如何使用JTidy从解析的HTML中获取错误/警告消息?

这里是我的代码:

Tidy tidy = new Tidy(); 
StringBuffer StringBuffer1 = new StringBuffer("<b>Hello<u><b>I am tsting another one.....<i>another....."); 
InputStream in = new ByteArrayInputStream(StringBuffer1.toString().getBytes("UTF-8")); 
Writer stringWriter = new StringWriter(); 
    tidy.setPrintBodyOnly(true); 
    tidy.setQuiet(true); 
    tidy.setShowWarnings(true); 
    tidy.setTidyMark(false); 
    tidy.setXHTML(true); 
    tidy.setXmlTags(false); 
    Node parsedNode = tidy.parse(in, stringWriter); 
    System.out.print(stringWriter.toString()); 

回答

1

我注意到了这一点,从发布R8 jTidy开始privdes可以实现TidyMessageListener接口,为您的HTML代码错误和警告通知的jTidy文档。

这里是doc

2

你可以设置一个错误输出流是这样的:

errorOutputStream = new java.io.ByteArrayOutputStream(); 
errorPrintWriter = new java.io.PrintWriter(errorOutputStream, true); //second param enables autoflush so you don't have to manually flush the printWriter 
tidy.setErrout(errorPrintWriter); 

然后,当你需要查看错误errorOutputStream.toString();