0

我有一个网页的一部分我确定为我感兴趣的领域。它可能包含多个 html 标签,但我想将其解释为多行文本,或者至少尽可能接近浏览器的呈现方式。

让我给你举个例子。

<div>
<p>Line 1<p>
</div>
<div><p>Line 2<p></div> <div><p>Line 3 <p></div>
<p>Line 4<p></div><br />Line 5

在浏览器中,它是这样呈现的:

Line 1

Line 2

Line 3

Line 4

Line 5

我想通过某种 lib 运行原始 html 并获取包含以下内容(或关闭)的文本:

Line 1
Line 2
Line 3
Line 4
Line 5

请注意,我不想恢复 Html 中存在的原始换行符(正如这个问题所指出的那样。我想将 html 实体解释为类似于浏览器呈现方式的换行符。是否有任何库可以吗?我使用了 Jsoup 的TextNode.getWholeText()但它不解析 html 标签。

编辑:对于那里的 linux 用户,我想要类似于以下结果的东西:

$ lynx -dump file.html > file.txt
4

1 回答 1

0

默认情况下,HTML 中的<div> tags and <p>标签周围有填充和边距块。所以很明显这就是浏览器呈现它的原因。

创建一个 CSS 文件并禁用填充和边距。

另外,为什么要标记 Java?如果您在 Java Servlet 页面中执行此操作,请检查您的System.out.println语句。

于 2012-06-27T15:49:25.333 回答