Так что я просто тестирую API Jsoup и задаю простой вопрос. У меня есть строка и хотелось бы держать строку в такте, кроме тех случаев, когда она прошла через мой метод. Я хочу, чтобы строка проходила через этот метод и вынимала элементы, которые обертывают ссылки. Сейчас у меня есть:Jsoup выбирает и заменяет несколько элементов <a>
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);
}}
Это возвращает первый URL-адрес, который не был взломан. Я хотел бы, чтобы все URL-файлы были развернуты, а также исходная строка. Заранее спасибо
EDIT: РЕШЕНИЕ:
Большое спасибо за ответ, и я редактировал его лишь немного, чтобы получить результаты, которые я хотел. Вот решение в полном объеме, что я использую:
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());
}
}
Еще раз спасибо
Вместо 'link.attr (" абс: href ")' вам лучше использовать 'link.absUrl (" href ")'. – BalusC
Спасибо большое, оцените его. Однако нет ли способа сделать это с помощью метода unwrap()? –