2017-07-24 1 views
1

Ich bin ein Anfänger in jsoup und mein HTML-Dokument sieht das so etwas wie:jeder der HTML-Elemente in jsoup wählen

<div class="myclass"> 
 
<ul> 
 
<li style="width: 32%;border-right: 1px solid #ddd;"><img src="image.png"<br>val </li> 
 
<li><img src="/vinfo/imgFiles/no.png"><br>val2 </li> 
 
<li><img src="/vinfo/imgFiles/no.png"><br>val3 </li> 
 
<li class="noborder" style="border: 0px;"><img src="/vinfo/imgFiles/in-the-wild.png"><br>val4 </li> 
 
</ul> 
 
</div>

Ich möchte den Wert jedes <li> Element wählen aber alle Elemente werden gleichzeitig in einem Element gespeichert (jsoup); hier ist, was ich versuchte, um die Ausgabe vor dem Speichern in einer Liste zu testen:

Elements elt = page.select("div.iconDetails > ul"); 
int = 0; 
for (Element el : elt){ 
    System.out.println(el.select("li")); 
    i++; 
    System.out.println(i); 
} 

Und das Ergebnis ist wie folgt:

<li style="width: 32%;border-right: 1px solid #ddd;"><img src="/vinfo/imgFiles/trojan.png"><br>val </li> 
 
<li><img src="/vinfo/imgFiles/no.png"><br>val1</li> 
 
<li><img src="/vinfo/imgFiles/no.png"><br>val2 </li> 
 
<li class="noborder" style="border: 0px;"><img src="/vinfo/imgFiles/in-the-wild.png"><br>val3 </li> 
 
1

, was ich haben möchte, ist :

<li style="width: 32%;border-right: 1px solid #ddd;"><img src="/vinfo/imgFiles/trojan.png"><br>val </li> 
1 
<li style="width: 32%;border-right: 1px solid #ddd;"><img src="/vinfo/imgFiles/trojan.png"><br>val </li> 
2 
<li style="width: 32%;border-right: 1px solid #ddd;"><img src="/vinfo/imgFiles/trojan.png"><br>val </li> 
3 
<li class="noborder" style="border: 0px;"><img src="/vinfo/imgFiles/in-the-wild.png"><br>val3 </li> 
4 

Der Zähler ist nur, um s zu machen Ich habe 4 Ergebnisse.

+0

Welche Ausgabe, die Sie brauchen genau? Du musst jedes li oder jedes Element lesen. –

+0

Ich habe meine Frage bearbeitet – DevRj

Antwort

1

Also alles, was ich hatte "ul> li", wie dies zu tun wählen:

Elements elt = page.select("div.iconDetails > ul > li"); 
int = 0; 
for (Element el : elt){ 
System.out.println(el); 
i++; 
System.out.println(i); 
} 

Und es funktionierte wie ein Zauber

2

diesen Code Versuchen:

Elements elts = page.select("div.iconDetails > ul > li"); 
for (int i= 0; i<elts.size();i++){ 
    Element elt = elts.get(i); 
    System.out.println(elt.text()); 

}