2011-11-19 25 views
3

我正在使用Jsoup解析和修改某些HTML。在某些地方,我想向HTML添加一個非破壞性空間實體(&)。我認爲我能做到這一點在這個簡單的例子:如何在Jsoup中編寫&字符

Element paragraph = someDocument.select("p").first(); 
paragraph.text("First sentence.  Second sentence."); 

但Jsoup令我  有效編碼符號本身。我想我真正的問題是:我怎麼能手動寫一個&符號到Element的文本?

回答

3

你在做Element.text。如果它的html,請使用.html(String s)代替,用

Element paragraph = someDocument.select("p").first(); 
paragraph.html("First sentence.  Second sentence."); 
+0

這樣你就不用擔心添加其他特殊的html字符了 –

2

嘗試使用unicode值來確保不間斷的空間。

Element paragraph = someDocument.select("p").first(); 
paragraph.text("First sentence.\u00a0Second sentence."); 
+2

+1。如果你喜歡'''''''00a0',你可以使用'org.jsoup.nodes.Entities.getCharacterByName(「nbsp」)''。 – ruakh

+0

直接在字符串中使用unicode轉義序列不起作用。但是,'Entities.getCharacterByName(String s)'確實有效。仍然與其他答案,因爲我認爲這是適合我的確切情況。儘管如此,盧納克的評論+1。補充我的noobishness。我不能+1評論?似乎我投了反對票。 。 。 – Knave