Donc j'essaye juste l'API de Jsoup et ai une question simple. J'ai une ficelle et je voudrais garder la corde intacte, sauf si elle est passée par ma méthode. Je veux que la chaîne passe par cette méthode et sorte les éléments qui enveloppent les liens. En ce moment j'ai:Jsoup sélectionnant et remplaçant plusieurs <a> éléments
public class jsTesting {
public static void main(String[] args) {
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link and after that is a second link called <a href='http://example2.com/'><b>example2</b></a></p>";
Elements select = Jsoup.parse(html).select("a");
String linkHref = select.attr("href");
System.out.println(linkHref);
}}
Ceci retourne la première URL déballée seulement. Je voudrais que toutes les URL soient déballées ainsi que la chaîne d'origine. Merci à l'avance
EDIT: SOLUTION:
Merci beaucoup pour la réponse et j'édita légèrement pour obtenir les résultats que je voulais. Voici la solution complète que j'utilise:
public class jsTesting {
public static void main(String[] args) {
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link and after that is a second link called <a href='http://example2.com/'><b>example2</b></a></p>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a[href]");
for (Element link : links) {
doc.select("a").unwrap();
}
System.out.println(doc.text());
}
}
Merci encore
Au lieu de 'link.attr (" ABS: href ")' vous feriez mieux d'utiliser 'link.absUrl (" href ")'. – BalusC
Merci beaucoup, j'apprécie. Cependant, n'est-il pas possible de le faire en utilisant la méthode unwrap()? –