如何使用Jsoup解析HTML中的换行符

4
当我使用jsoup解析HTML文件时,HTML文件中多行文本(带有< br />)会呈现为没有换行符(\n)的单行。我该如何将多行HTML文档解析为多行字符串?我正在使用Element.text()方法。
例如:HTML包含C代码,在HTML文件中以多行正确显示,但是当我获取文本数据时,所有数据都呈现为没有换行字符的单行。
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)

0
Element(和TextNode)的text()方法调用appendWhitespaceIfBr(...),它将用空白替换每个
(或空格)。不幸的是,我没有看到任何机制可以在不处理代码的情况下关闭它。
但也许您可以尝试使用Node的新子类替换所有
标签。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接