Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Java Html表转换为纯文本_Java_Html_Html Table - Fatal编程技术网

将Java Html表转换为纯文本

将Java Html表转换为纯文本,java,html,html-table,Java,Html,Html Table,我们将输入电子邮件保存在数据库中。 然后保存一个版本,删除所有html标记。 问题在于,如果邮件包含如下表: 标题1标题2 第1栏第2栏 移除标记后看起来是这样的 标题1 标题2 专栏1 专栏2 有并没有一种简单的方法可以获取一个html表并将其转换为纯文本,但格式仍保持不变。至少换行符在正确的位置 因此,表格会变成这样: 标题1标题2\r\n列1列2\r\n。 或者类似的东西 有什么想法吗?简单的方法?不是真的。HTML表很复杂,可以有行跨度和列跨度,更不用说像双向文本这样的普通HTML属性了

我们将输入电子邮件保存在数据库中。 然后保存一个版本,删除所有html标记。 问题在于,如果邮件包含如下表:

标题1标题2

第1栏第2栏

移除标记后看起来是这样的

标题1

标题2

专栏1

专栏2

有并没有一种简单的方法可以获取一个html表并将其转换为纯文本,但格式仍保持不变。至少换行符在正确的位置

因此,表格会变成这样: 标题1标题2\r\n列1列2\r\n。 或者类似的东西


有什么想法吗?

简单的方法?不是真的。HTML表很复杂,可以有行跨度和列跨度,更不用说像双向文本这样的普通HTML属性了。CSS属性,如
显示:表格单元格
还可能导致其他普通HTML突然变成表

但是,如果您不太关心格式,只想在同一行中输出多个列,您可以使用类似JTidy或Jericho的东西解析HTML,然后通过在它们之间加空格输出多个
标记,当您得到
元素的结尾时,您可以输出
“\r\n”


如果您真的不想解析HTML,您可以将
标记本身替换为单个空格或选项卡,并将
替换为换行符。这至少可以得到一些合理的结果。

阅读它看起来像是在每个单元格之后添加换行符(即在每个
之后),而应该在每行之后添加换行符(即在每个
之后)。但这太明显了,所以它可能只是意味着你应该在你的问题中添加更多的信息。您正在处理的HTML示例。是的,也许我应该添加更多信息。我当前保存它的方式是:(String)part.getContent();其中,part的类型为javax.mail.part。所以我自己不做任何断线。这会产生一个类似于\r\n To:emailaddress\r\n Subject:。。。这很有效。只有当邮件包含一个表时,我才希望它不要在两个表之间换行。如果我可以继续使用javax.mail.part的当前解决方案,并添加一些东西来处理这些表,那就太好了。