jSoup à obtenir le texte de <span> classe
J'ai une partie d'un fichier HTML avec le format suivant:
<h6 class="uiStreamMessage" data-ft="_____">
<span class="messageBody" data-ft="____"> Welcome
</span>
</h6>
Dans le fichier, il y a d'autres durée de classes. Mais j'aimerais avoir le texte pour TOUS "messageBody' span seulement, qui sera inséré dans la base de données.
J'ai essayé:
Elements links = doc.select("span.messageBody");
for (Element link : links) {
message = link.text();
//codes to insert into DB
}
et même
Elements links = doc.select("h6.uiStreamMessage span.messageBody");
Les deux ne fonctionne pas. Je ne pouvais pas trouver toutes les solutions d'ailleurs.
Nous vous remercions de nous aider.
**EDIT
J'ai compris que c'est un imbriquée durée dans le fichier html:
<h6 class="uiStreamMessage" data-ft="">
<span class="messageBody" data-ft="">Twisted<a href="http://"><span>http://</span>
<span class="word_break"></span>www.tb.net/</a> Balloons
</span>
</h6>
Et c'est seulement à certains moments il y a une autre plage dans le "messageBody' span. Comment puis-je récupérer le texte dans le "messageBody' span?
Permettez-moi de vous poser une question, Quel est le contenu du "message"? Avez-vous essayé d'enregistrement à chaque fois?
Le "message" est vide. J'ai un " peu println()', ils n'ont pas d'imprimer n'importe quoi, tant que c'est après que les "pour" de la boucle.
eh bien, après la boucle "message" doit disposer de la dernière travée.messageBody du texte. C'est une mauvaise idée d'utiliser le "message" après la boucle. Si vous avez besoin d'elle de cette façon, peut-être vous devriez stocker les messages dans une Liste<String>
Merci, je vais garder cela à l'esprit. Cependant, j'ai réalisé où ça va mal. J'ai édité la question, merci de prendre un coup d'oeil.
Avec le dernier code html que vous avez posté, quel est le texte exact que vous essayez de récupérer? Que html est un gâchis..
Le "message" est vide. J'ai un " peu println()', ils n'ont pas d'imprimer n'importe quoi, tant que c'est après que les "pour" de la boucle.
eh bien, après la boucle "message" doit disposer de la dernière travée.messageBody du texte. C'est une mauvaise idée d'utiliser le "message" après la boucle. Si vous avez besoin d'elle de cette façon, peut-être vous devriez stocker les messages dans une Liste<String>
Merci, je vais garder cela à l'esprit. Cependant, j'ai réalisé où ça va mal. J'ai édité la question, merci de prendre un coup d'oeil.
Avec le dernier code html que vous avez posté, quel est le texte exact que vous essayez de récupérer? Que html est un gâchis..
OriginalL'auteur Jo S. | 2012-03-15
Vous devez vous connecter pour publier un commentaire.
Pour la facebook page https://www.facebook.com/pages/The-Nanyang-Chronicle/141387533074:
Dans la réponse, vous pouvez voir une méthode first (). Cette obtenir le premier ocurrence de <h6 class='uiStreamMessage" data-ft="><span class='messageBody" >. Au lieu de cela, ne pas utiliser de la (première), et de réitérer les éléments. Cochez la case modifier la réponse.
Merci beaucoup. Je sais que ça devrait fonctionner, mais je pense que les balises html de la page fb est trop compliqué, c'est pourquoi il ne fonctionne pas quand je saisie le code html. Est-il possible que vous pourriez m'aider?
comment puis-je vous aider ? quel est le problème ?
Le problème est que le code source est entre un commentaire html: <!--Source Code -->, et le sélecteur ne fonctionne pas.
OriginalL'auteur Rodri_gore
Ne sais pas pourquoi il ne fonctionne pas pour vous. Voici mon code. Il imprime
Welcome
à la console.C'est essentiellement le même code que vous avez, donc il doit y avoir quelque chose d'autre à jouer ici.
oui, Il fonctionne de nice
OriginalL'auteur B. Anderson