我有一个网页的一部分,我确定为我感兴趣的领域。它可能包含多个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中存在的原始换行符(如this question points out。我想将html实体解释为与其呈现方式类似的换行符是否有可以执行此操作的库?我已经使用过Jsoup&#39; TextNode.getWholeText()但它没有解析html标签。
编辑:对于那里的linux用户,我想要类似于以下结果:
$ lynx -dump file.html > file.txt
答案 0 :(得分:0)
默认情况下,HTML中的<div> tags and <p>
标记周围有填充和边距块。所以很明显,这就是为什么浏览器会像它一样呈现它。
创建一个CSS文件并禁用填充和边距。
另外,为什么Java标记了?如果您在Java Servlet页面中执行此操作,请检查System.out.println
语句。