Разбор таблицы в jsoup (Android)

http://www.novaprojecten.nl/roosters/lbl/basis/38/c/c00086.htm

я пытаюсь разобрать увиденную там таблицу...

я хочу поместить все дни (первая строка) в ListView.

Когда я нажимаю элемент ListView в день, я хочу показать данные в столбце ниже этого дня, включая время в классе...

например в один ряд: 12:45 - 15:15 LBL130 (ICT)

Как лучше всего это сделать на андроиде?


person iSeeDeadPixels    schedule 17.09.2012    source источник
comment
Вы пробовали что-нибудь, или вы просто надеялись на дамп кода?   -  person Eric    schedule 18.09.2012


Ответы (1)


Это ужасный HTML, который вы пытаетесь разобрать. Но вы можете выбрать дни с помощью JSoup, используя правильный селектор. Полный селектор — table tbody tr td table tbody tr td font, но его можно сократить до body > center > table > tbody > tr:lt(1) font.

Document doc = Jsoup.connect("http://www.novaprojecten.nl/roosters/lbl/basis/38/c/c00086.htm").get();
List<String> days = new ArrayList<String>();
for (Element col: doc.select("body > center > table > tbody > tr:lt(1) font")) {
    days.add(col.text());
}
System.out.println(days); // Maandag 17-09, Dinsdag 18-09, Woensdag 19-09...

Чтобы выбрать содержимое для каждого дня, вам нужно будет проанализировать каждую строку и получить только n-й столбец.

Все это возможно с помощью JSoup, чтобы ответить на ваш вопрос. Вам следует взглянуть на их веб-сайт и на Документация по селектору, чтобы самостоятельно попробовать другие возможности.

person Alex    schedule 17.09.2012
comment
@iSeeDeadPixels Смотрите мои изменения для правильного селектора дней недели. - person Alex; 18.09.2012