2011-05-25 3 views
2

Comment puis-je obtenir les valeurs dans un morceau de Html (values ​​= "valueIWant"), et les avoir dans un tableau? J'ai essayé ce qui suit, mais cela ne fonctionne pas:Comment créer un tableau à partir de jSoup Elements? (java)

HttpEntity entity5 = response5.getEntity(); 
    String defaultString = EntityUtils.toString(entity5); 
    Document defaultDoc = Jsoup.parse(defaultString);     
    Elements values = defaultDoc.getElementsByAttribute("value"); //DropDownList Values 
    String s[] = {""}; 
    for(int a=0; a<values.size(); a++){ 
     s[a] = values.get(a).toString(); 
    } 
    return s; 

Alors Quelqu'un at-il une réponse? Merci. (Btw, j'utilise Jsoup)

+2

"cela n'a pas fonctionné" ... De quelle façon? Avez-vous eu une erreur de compilation, une exception à l'exécution, les résultats n'ont pas répondu à vos attentes? – Olaf

Répondre

1

Tout d'abord: votre HTML est-il correctement analysé? Pouvez-vous fournir le contenu de defaultString? Est-ce que defaultDoc est valide existe-t-il un problème avec les encodages de fichiers peut-être?

En supposant getElementsByAttribute retourne effectivement certains objets -NOTE que vous avez une faute de frappe, value au lieu de values - vous peuplant actuellement le tableau avec les descriptions de tous Element -Objets, pas les valeurs de l'attribut. Essayez quelque chose comme ce qui suit:

int i = 0; 
String s[] = new String[values.size()]; 
for(Element el : values){ 
    s[i++] = el.attr("values"); 
} 
+0

J'ai maintenant changé mon code en ---- Elements values ​​= defaultDoc.getElementsByTag ("option"); s [i ++] = el.attr ("value"); ---- Je pensais que c'était "value" au lieu de "values", puisque

+0

Ensuite, il s'agit de «valeur», mais dans votre question, vous parlez de «valeurs». Cependant, votre code fonctionne-t-il maintenant? Il devrait ou d'autres choses peuvent mal tourner. – Joost

Questions connexes