Java Html表到纯文本

时间:2015-10-28 13:46:17

标签: java html html-table

我们在数据库中保存收到的电子邮件。 然后我们保存一个版本,删除所有html标签。 这个问题是如果邮件包含这样的表:

Heading1 Heading2

column1 column2

删除标签

后,它看起来像这样

标题1

Heading2

列1

列2

是否有一种简单的方法来获取html表并将其转换为纯文本,但格式化仍然完好无损。至少在正确的位置使用换行符

所以表变成了这样的东西: Heading1 Heading2 \ r \ n column1 column2 \ r \ n。 或类似的东西。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

一个简单的方法?并不是的。 HTML表格很复杂,可以有行跨度和列跨度,更不用说普通的HTML属性,如双向文本。像display: table-cell;这样的CSS属性也会导致普通的HTML突然变成表格。

但是,如果您不太关心格式化并且只想将多个列输出到同一行,您可以使用类似JTidy或Jericho的内容解析HTML,然后输出多个<td><th>标记,在它们之间放置空格,当您结束<tr>元素时,可以输出"\r\n"

如果您真的不想解析HTML,则可以使用单个空格或标签替换<td><th>标记,并使用换行符替换<tr> 。这可能会给你至少一些合理的结果。