Java格式的漂亮打印(“仅缩进”)HTML文档(无JTidy)
我们正在使用apaches velocity通用模板引擎生成HTML文件。生成的HTML有点难看,没有正确的缩进 在我的例子中,我把HTML存储在一个字符串中,我想用这种方式来处理它,它看起来很漂亮 我已经尝试了JTidy,但是当我通过它来导入原始HTML时,它改变了HTML源代码。有时它会添加或删除HTML标记 我的问题: 是否有一个java库或其他东西(只有!)可以在不添加、删除HTML文档中的标记的情况下漂亮地打印我的HTML代码?它应该只做缩进,使它看起来很漂亮打印!不多不少。有什么想法吗?:-) 此外,欢迎提供代码建议、提示或提示Java格式的漂亮打印(“仅缩进”)HTML文档(无JTidy),java,html,pretty-print,jtidy,jericho-html-parser,Java,Html,Pretty Print,Jtidy,Jericho Html Parser,我们正在使用apaches velocity通用模板引擎生成HTML文件。生成的HTML有点难看,没有正确的缩进 在我的例子中,我把HTML存储在一个字符串中,我想用这种方式来处理它,它看起来很漂亮 我已经尝试了JTidy,但是当我通过它来导入原始HTML时,它改变了HTML源代码。有时它会添加或删除HTML标记 我的问题: 是否有一个java库或其他东西(只有!)可以在不添加、删除HTML文档中的标记的情况下漂亮地打印我的HTML代码?它应该只做缩进,使它看起来很漂亮打印!不多不少。有什么想法
致以最诚挚的问候为什么不自己编写一个简单的Java解析器来漂亮地打印HTML呢。这是一张草图:
我想给你们一个大概的想法,你们可以用这个作为起点。我已经编写了许多基于perl的漂亮打印机。您可以使用Perl相当快地编写解析脚本。在java中查找任何SAX解析器示例。indent++用于开始标记,intent——用于结束,并使用计数的intent编写内容 可能有点晚了,但我用Jsoup找到了解决这个问题的方法 您可以只使用解析器获得html的“漂亮”版本,并且(如果需要)通过使用“自定义解析器”避免生成html元素 我从中得到了答案 及其
publicstaticstringformathtml(stringhtml)引发异常{
Document doc=Jsoup.parse(html,“,Parser.xmlParser());
返回doc.toString();
}
我希望这有帮助
关于@请参阅本网站上的hm,他们正在撰写关于java源代码的独立源代码格式化程序的文章。我正在寻找一个java库,它可以进行HTML漂亮的打印,这样我就可以在我的字符串变量中漂亮地打印HTML;-)看来除了JTidy没有别的选择了。。。您玩过配置吗?SAX解析器可能遇到的问题是,很难创建源文件的相同副本。您需要重建元素和属性-字符不会简单地回显到输出流。