2012-02-23 5 views
5

Come posso ottenere "questo testo" dal seguente codice html utilizzando Jsoup?Come ottengo questo testo usando Jsoup?

<h2 class="link title"><a href="myhref.html">this text<img width=10 
     height=10 src="img.jpg" /><span class="blah"> 
     <span>Other texts</span><span class="sometime">00:00</span></span> 
     </a></h2> 

quando provo

String s = document.select("h2.title").select("a[href]").first().text(); 

esso restituisce

questo textOther texts00: 00

Ho provato a leggere le API per Selector in Jsoup, ma non riusciva a capire molto.

Inoltre, come ottengo un elemento della classe class="link title blah" (più classi?). Perdonami, conosco solo Jsoup e CSS un po '.

risposta

9

Utilizzare Element#ownText() anziché Element#text().

String s = document.select("h2.link.title a[href]").first().ownText(); 

noti che è possibile selezionare gli elementi con più classi, semplicemente concatenando i selettori classname insieme come come h2.link.title che selezionerà <h2> elementi che hanno almeno sia classe link e title.

+0

Grazie che ha funzionato bene :) – wildnux

+0

Inoltre, come ottengo un elemento di classe 'class =" link title blah "(più classi)? – wildnux

+0

Controllare attentamente l'esempio di codice. Ho aggiunto una spiegazione alla risposta in seguito. – BalusC