我们正在使用apaches velocity通用模板引擎生成HTML文件。生成的HTML有点难看,而不是使用correcht缩进。
在我的情况下,我已经将HTML存储在一个字符串中,我希望以这种方式操作它,它看起来很漂亮。
我已经尝试了JTidy,但是当我通过它管道原始HTML时,它改变了HTML源代码。有时它会添加或删除HTML标记。
我的问题:
是否有一个java库或其他东西(仅!)非常打印我的HTML代码而不添加,从我的HTML文档中删除标签?它只会做缩进,所以看起来很漂亮!没有更多,没有更少。有任何想法吗? : - )
欢迎提供代码建议,提示或提示。
祝你好运
答案 0 :(得分:2)
也许有点迟到,但我找到了Jsoup的解决方案。
你可以得到"漂亮"仅使用解析器的html版本,并且(在需要的情况下)通过使用"自定义解析器"来避免生成html元素。
我从这个Jsoup question
得到了答案它的
public static String formatHTML(String html) throws Exception{
Document doc = Jsoup.parse(html, "", Parser.xmlParser());
return doc.toString();
}
我希望这会有所帮助。
此致
答案 1 :(得分:1)
在java中查找任何SAX解析器示例。缩进++用于打开标签,意图 - 用于关闭,以及用计数的意图写入内容。
答案 2 :(得分:0)
为什么不自己编写一个简单的Java解析器来打印HTML。这是一幅草图:
我想在这里给你一个粗略的想法,你可以用这个作为起点。我写过许多基于perl的漂亮打印机。您可以使用Perl来快速编写解析脚本..