2011-11-19 13 views
3

私はいくつかのHTMLを解析して変更するためにJsoupを使用しています。特定の場所では、改行しないスペースエンティティ(& nbsp;)を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

改行しないスペースにユニコード値を使用してください。

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

+1でコードを置き換えてください。そして、 'nbsp'から' 00a0'までのほうが好きなら、 'org.jsoup.nodes.Entities.getCharacterByName(" nbsp ")'を使うことができます。 – ruakh

+0

文字列でUnicodeエスケープシーケンスを直接使用すると機能しません。しかし、 'Entities.getCharacterByName(String s)'は動作します。それでも私の正確な状況にふさわしいと思うので、他の答えと一緒に行く。しかし、ruakhのコメントに+1。私のnoobishnessを奪う。コメントを+1できませんか?代わりに私はそれに投票したようです。 。 。 – Knave

関連する問題