2013-09-20 19 views
5

Jsoup'a koyduğum bir HTML (String) var, böylece tüm href ve src özniteliklerine bir şey ekleyebilirim, bu da iyi çalışıyor. Ancak, bazı özel HTML karakterleri için Jsoup'un gerçek karakterine “'dan dönüştürdüğünü fark ettim. Değeri önce ve sonra çıkardım ve bu değişikliği görüyorum.Jsoup özel HTML sembolleriyle ilgili sorunlara, ‘ — vb.

önce:

THIS — IS A “TEST”. 5 > 4. trademark: ™ 

sonra:

THIS — IS A “TEST”. 5 > 4. trademark: ? 

halt neler oluyor? Bunu önlemek için herhangi bir Jsoup malzemesinden önce bu özel karakterleri HTML varlıklarına özel olarak dönüştürüyordum. Alıntılar gerçek alıntı karakterlerine değişti, büyük olan aynı kaldı ve ticari marka bir soru işaretine dönüştü. Aaaaaaa.

Bilginize, benim Jsoup kod yapıyor: Herhangi bir yardım için

Document document = Jsoup.parse(fileHtmlStr); 
//some stuff 
String modifiedFileHtmlStr = document.html(); 

Teşekkür!

cevap

8

aşağıdaki kod giriş biçimlendirme benzer verecektir. Belirli karakterler için çıkış modunu değiştirir ve Unicode'u desteklemeyen sistemler için TM işaretinden çıkmak için ASCII modunu ayarlar.

çıkışı:

<p>THIS &mdash; IS A &ldquo;TEST&rdquor;&period; 5 &gt; 4&period; trademark&colon; &#x99;</p> 

kodu:

Document doc = Jsoup.parse("" + 
    "<p>THIS &mdash; IS A &ldquo;TEST&rdquo;. 5 &gt; 4. trademark: &#153;</p>"); 

Document.OutputSettings settings = doc.outputSettings(); 

settings.prettyPrint(false); 
settings.escapeMode(Entities.EscapeMode.extended); 
settings.charset("ASCII"); 

String modifiedFileHtmlStr = doc.html(); 

System.out.println(modifiedFileHtmlStr); 
+0

Müthiş, teşekkürler ... bir cazibe gibi çalıştı. Jsoup’da yeniyim ve bunları sitelerinde yemek kitabında görmedim. – mikato

+0

@ Andrew Chaschev settings.escapeMode (Entities.EscapeMode.extended); Entities bulundu ve dolayısıyla benim soruya http://stackoverflow.com/questions/20908946/jsoup-adding-extra-encoded- bir hatası oldu.Lütfen göz vermiyor şeyler-için-bir-html –

+0

@ Andrew Chaschev kişiler sınıfı şimdi 1.6.1 jsoup sürümünü ama şimdi HTML dosyasıdır bile worse.Its appanding & yeni satır everywhere.Kindly yardım yüklü çalışıyor. –