如何使用JTidy从解析的HTML中获取错误/警告消息?

时间:2010-03-16 16:03:49

标签: html validation xhtml tidy

我能够解析HTML,但我想从解析的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());

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:1)

我在jTidy文档中注意到,从版本r8 jTidy开始,您可以实现TidyMessageListener接口,以通知您的html代码中的警告和错误。

以下是doc