2012-11-20 63 views
4

當我使用jsoup解析HTML文件時,HTML文件中多行(與< br />)中的文本呈現爲單行而沒有新行(\n)。我怎麼能解析多行HTML文檔作爲多行字符串?如何使用Jsoup從HTML解析新行

我使用的方法:Element.text()

如:

HTML包含正確顯示在HTML文件中多行的C代碼,但是當我走的是文本數據,所有的數據都在一行中沒有新的行字符。

回答

0

Element(和TextNode)的text()方法調用appendWhitespaceIfBr(...),它將用空格替換每個<br />(或空格)。不幸的是,我沒有看到沒有在沒有編寫代碼的情況下關閉它的機制。

但是,也許你可以嘗試使用新的子類Node替換所有<br />標籤。

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)