flaying saucer org.xml.sax.SAXParseException实体HTML.Version的声明必须以>结尾。

时间:2013-08-08 11:47:46

标签: java validation pdf xhtml

我有xhtml文件: 在http://validator.w3.org/上给出了结果:此文档已成功检查为HTML 4.01 Transitional!

我使用以下代码解析它:         OutputStream os = null;

    ITextRenderer renderer = new ITextRenderer();

    os = new FileOutputStream(new File("example.pdf"));
    BufferedReader reader1 = new BufferedReader(new FileReader("x:\\workspace\\Test.html"));

    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader1.readLine()) != null) {
        sb.append(line);
    }

    reader1.close();

    String str = sb.toString();

    renderer.setDocumentFromString(str);
    renderer.layout();
    renderer.createPDF(os);

    os.close();

我收到标题中描述的错误。你知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您忘记了HTML页面中的结束括号(>)。

因此,它不是XHTML页面,只是一个HTML4页面。您命名的验证器仅可用于验证HTML4而不是XHTML。

HTML4允许您执行XML(和XHTML)中禁止的操作,例如:在HTML中,以下是合法的:

<br