2016-08-09 2 views
0

Hallo Ich nehme einen HTML-Code,Ich brauche Selektor verwenden jsoup für mehr als eine p-Tags

<P>This is Stack overflow</p> 
<p>---------------</p> 
<p>---------------</p> 
<p>This is stack overflow2</p> 

Im Allgemeinen ich habe 100 p-Tags in meinem HTML-Code i ersten 50 von ihnen wählen müssen .

Ich muss alle <p> Tags aus dem <p> Tag auswählen, die "This is Stack overflow" enthalten. bis zum <p> Tag, die "This is stack overflow2" enthalten. ist es möglich, jsoup zu verwenden, weil ich es von der Java-Klasse verwende.

Vielen Dank im Voraus

+0

ich dies Tring, bw.write (doc.select ("p: contains (Stack)").Text()); (wo doc ist der html) –

Antwort

0

nicht sicher, was genau Sie fordern, aber das ist ein Anfang:

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 

public class JsoupTester { 
    public static void main(String[] args) throws Exception { 
     String html = "<P>This is Stack overflow</p>" 
       + "<p>---------------</p>" 
       + "<p>---------------</p>" 
       + "<p>This is stack overflow2</p>"; 
     Document doc = Jsoup.parse(html); 
     Elements elements = doc.select("p"); 

     for(Element e : elements) { 
      System.out.println(e.text()); 
     } 
    } 
} 

Jetzt können Sie die Schleife anzupassen und Bedingungen hinzufügen, je nachdem, was Sie möchten.

Diese Links sind hilfreich:

+0

Wenn ich die ersten drei Tags und nicht das letzte Tag auswählen soll, welche Bedingung sollte ich dann übernehmen? –

+0

Nun, es kommt darauf an :) Wenn Sie eine bestimmte Anzahl von Tags auswählen möchten, würde ich einen Zähler in der Schleife vorschlagen. Wenn die Auswahl vom Inhalt des Tags abhängt, sollten Sie e.text() mit einem Text mit .equals() vergleichen. Sei genauer ! – Tim

+0

@Saket Sinha Sie wollen Pseudo-Selektoren verwenden (: enthält), um die "das ist Stack-Überlauf" wählen und dann nth-Kind verwenden, um die Elemente, die Sie benötigen, zu greifen. Es ist nicht notwendig, eine Schleife zu führen und equals für einen ansonsten einfachen CSS-Selektor auszuführen. –

Verwandte Themen