【发布时间】:2023-03-11 04:53:02
【问题描述】:
当使用 jsoup 清理 HTML 文档时,我喜欢它自动应用漂亮打印的事实。我知道我可以在每个文档的基础上停用它,但我喜欢将它应用于大多数文档,除了 jsoup 不能很好地工作的某些有问题的区域。
一个例子是带有CSS specifying white-space: pre-wrap; 的DIV 标签,即语义上它们的行为类似于PRE 标签,这意味着浏览器将对换行符和其他空格(缩进)敏感。如果在这些区域内有更多标签,例如BR、SPAN 等,情况会变得更糟,因为应用了漂亮打印并破坏了这些区域的预期格式。
因此,与其完全停用整个 HTML 文档的漂亮打印,我喜欢在解析器遇到类似 div.listing 的内容时选择性地停用它(是的,我知道有问题区域的 CSS 类名称)并保留原始那里有 HTML。我将如何实施?
更新:我忘了提到我使用
打印清理过的文档output.print(document);
其中output 是PrintStream,document 是jsoup Document 实例。所以如果有更好的方法来输出文档,我也愿意提出建议。
【问题讨论】:
标签: java jsoup pretty-print