4

当我使用 jsoup 解析 HTML 文件时,HTML 文件中的多行文本(带< br />)显示为单行,不带新行(\n)。我如何将多行 HTML 文档解析为多行字符串?

我正在使用以下方法:Element.text()

例如:

HTML 包含在 HtMl 文件的多行中正确显示的 C 代码,但是当我获取文本数据时,所有数据都显示在一行中,没有换行符。

4

2 回答 2

3

替换<br />为其他内容并返回,如下所示:

Document doc = Jsoup.connect("http://www.ejemplo.html").get(); //Here included the <br>'s
String temp = doc.html().replace("<br />", "$$$"); //$$$ instead <br>
doc = Jsoup.parse(temp); //Parse again

String text = doc.body().text().replace("$$$", "\n").toString()); //example
//I get back the new lines (\n)
于 2012-12-06T00:25:35.420 回答
0

text()Element (and TextNode) 调用的方法appendWhitespaceIfBr(...)将用空格替换每个<br />(或空格)。不幸的是,我看不到在不处理代码的情况下关闭它的机制。

但也许您可以尝试将所有<br />标签替换为Node.

于 2012-11-20T20:43:42.710 回答