您的位置:首页 > Web前端 > HTML

使用JTIDY将html转成xhtml

2016-04-05 10:36 260 查看
最近项目中要使用HTML转word,html转PDF等,在这些转换中,HTML都必须是严格格式化好的。

网上找了一个jtidy工具(jtidy下载)可以将html转为xhtml,还是挺好用的,这里记录一下:

public class HtmlToXhtmlUtil {

public static String html2xhtml(String html) {
        ByteArrayInputStream stream = new ByteArrayInputStream(html.getBytes());

        ByteArrayOutputStream tidyOutStream = new ByteArrayOutputStream();
        // 实例化Tidy对象
        Tidy tidy = new Tidy();
        // 设置输入
        tidy.setInputEncoding("gb2312");
        // 如果是true 不输出注释,警告和错误信息
        tidy.setQuiet(true);
        // 设置输出
        tidy.setOutputEncoding("gb2312");
        // 不显示警告信息
        tidy.setShowWarnings(false);
        // 缩进适当的标签内容。
        tidy.setIndentContent(true);
        // 内容缩进
        tidy.setSmartIndent(true);
        tidy.setIndentAttributes(false);
        // 只输出body内部的内容
        tidy.setPrintBodyOnly(true);
        // 多长换行
        tidy.setWraplen(1024);
        // 输出为xhtml
        tidy.setXHTML(true);
        // 去掉没用的标签
        tidy.setMakeClean(true);
        // 清洗word2000的内容
        tidy.setWord2000(true);
        // 设置错误输出信息
        tidy.setErrout(new PrintWriter(System.out));
        tidy.parse(stream, tidyOutStream);
        return tidyOutStream.toString();
    }
}
或是使用jsoup实现:

Document doc = Jsoup.parse(html);
doc.outputSettings().syntax(Document.OutputSettings.Syntax.xml).escapeMode(Entities.EscapeMode.xhtml);  //转为 xhtml 格式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: