当我使用 jsoup 解析 HTML 文件时,HTML 文件中的多行文本(带< br />
)显示为单行,不带新行(\n
)。我如何将多行 HTML 文档解析为多行字符串?
我正在使用以下方法:Element.text()
例如:
HTML 包含在 HtMl 文件的多行中正确显示的 C 代码,但是当我获取文本数据时,所有数据都显示在一行中,没有换行符。
当我使用 jsoup 解析 HTML 文件时,HTML 文件中的多行文本(带< br />
)显示为单行,不带新行(\n
)。我如何将多行 HTML 文档解析为多行字符串?
我正在使用以下方法:Element.text()
例如:
HTML 包含在 HtMl 文件的多行中正确显示的 C 代码,但是当我获取文本数据时,所有数据都显示在一行中,没有换行符。
替换<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)
text()
Element (and TextNode
) 调用的方法appendWhitespaceIfBr(...)
将用空格替换每个<br />
(或空格)。不幸的是,我看不到在不处理代码的情况下关闭它的机制。
但也许您可以尝试将所有<br />
标签替换为Node
.