Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2015, 17:16   #1
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию перебор по элементам getElementsByClass Jsoup

Есть кусок кода
Код:
doc = Jsoup.parse(new File(pageAddress), "ISO-8859-1");
Elements link1 = doc.getElementsByClass("interlanguage-link");
    	  String[] links = new String[link1.size()];
    	  for(int i=0; i<link1.size(); i++){
    	  links[i] = link1.select("a").attr("href");
    	  System.out.println(links[i]);
Оно работает, но брабатывает только первый элемент. Идеальным было бы использоватьцикл for each, но он не подерживается моей версией. Как видно пытаюсь сделать с помощью обычного цикла, но не знаю как переходить по элементам.

Или может есть еще какой-то способ?

Заранее спасибо за подсказку.
yulia вне форума Ответить с цитированием
Старый 29.09.2015, 17:52   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А почему не использовать что-то типа:
Код:
Elements content = doc.getElementsByClass("interlanguage-link");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
  String linkHref = link.attr("href");
  String linkText = link.text();
}
p51x вне форума Ответить с цитированием
Старый 29.09.2015, 17:54   #3
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А почему не использовать что-то типа:
Код:
Element content = doc.getElementsByClass("interlanguage-link");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
  String linkHref = link.attr("href");
  String linkText = link.text();
}
Это и есть же цикл foreach (во всяком случае я именно это имела ввиду). Он в моей версии Java не поддерживается.

Я решила эту проблему через интератор, может кому пригодится
Код:
Elements link1 = doc.getElementsByClass("interlanguage-link");
    	  Iterator iter = link1.iterator();
    	  while (iter.hasNext()){
    	  Element current = (Element)iter.next();
    	  System.out.println(current.select("a").attr("href"));
yulia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа перебора вариантов (изменить перебор цифровой на перебор буквенный) BArt2000 Паскаль, Turbo Pascal, PascalABC.NET 5 02.03.2015 12:56
Обращение к элементам. shanluu Общие вопросы Delphi 3 19.02.2015 14:00
Разбивка массива по элементам! Corvette Общие вопросы C/C++ 12 15.10.2011 23:18
к элементам первой половины массива добавить минимум, а к элементам второй - добавить максимум specialist Паскаль, Turbo Pascal, PascalABC.NET 3 08.05.2011 01:46
Наследование доступ к элементам. Lazio Общие вопросы C/C++ 1 20.04.2010 22:52