當我使用jsoup解析HTML文件時,HTML文件中多行(與< br />
)中的文本呈現爲單行而沒有新行(\n
)。我怎麼能解析多行HTML文檔作爲多行字符串?如何使用Jsoup從HTML解析新行
我使用的方法:Element.text()
如:
HTML包含正確顯示在HTML文件中多行的C代碼,但是當我走的是文本數據,所有的數據都在一行中沒有新的行字符。
當我使用jsoup解析HTML文件時,HTML文件中多行(與< br />
)中的文本呈現爲單行而沒有新行(\n
)。我怎麼能解析多行HTML文檔作爲多行字符串?如何使用Jsoup從HTML解析新行
我使用的方法:Element.text()
如:
HTML包含正確顯示在HTML文件中多行的C代碼,但是當我走的是文本數據,所有的數據都在一行中沒有新的行字符。
Element(和TextNode
)的text()
方法調用appendWhitespaceIfBr(...)
,它將用空格替換每個<br />
(或空格)。不幸的是,我沒有看到沒有在沒有編寫代碼的情況下關閉它的機制。
但是,也許你可以嘗試使用新的子類Node
替換所有<br />
標籤。
更換<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)
看看我的答案類似的問題在這裏: https://stackoverflow.com/a/21354729/1510996
有一個靜態的遞歸方法,它會做的一個例子是什麼你問。