如何进行HTML到XML转换以生成封闭标签?

时间:2014-10-30 11:40:56

标签: html xml itext

如何执行xml到html转换以生成封闭标记。

这里解释了上下文:Error while generating pdf from Html file in Java using iText

当我尝试使用iText和XML Worker将html转换为pdf时,我要求为<hr><br>标记提供结束标记。如果我手动执行此操作:转换为pdf工作!但我不想手动添加每个结束标记。我该如何以自动方式完成此操作?

1 个答案:

答案 0 :(得分:1)

您遇到此问题是因为您正在向iText的XML Worker提供HTML。 XML Worker需要XML,因此您需要将HTML转换为XHTML。

有关如何在官方iText网站上执行此操作的示例:D00_XHTML

public static void tidyUp(String path) throws IOException {
    File html = new File(path);
    byte[] xhtml = Jsoup.parse(html, "US-ASCII").html().getBytes();
    File dir = new File("results/xml");
    dir.mkdirs();
    FileOutputStream fos = new FileOutputStream(new File(dir, html.getName()));
    fos.write(xhtml);
    fos.close();
}

在这个例子中,我们获得了一个普通HTML文件的路径(类似于你所拥有的)。然后我们使用Jsoup库将HTML解析为XHTML字节数组。在此示例中,我们使用该字节数组将XHTML文件写入磁盘。您可以直接使用字节数组作为XML Worker的输入。