#android #jsoup
#Android #jsoup
Вопрос:
Я делаю это в своей деятельности:
Document doc = Jsoup.connect(https://greselius.net/idesk/vplan/Anzeige/Schueler_heute/subst_001.htm).get(
);
Elements questions = doc.select("table.mon_list");
Elements td = questions.select("td.list:not(.inline_header)");
Веб-сайт, к которому он подключается, является планом замещающего учителя.
Это дает мне все элементы, содержащие данные затронутого школьного класса, урока, учителя и т. Д.
Но он получает это для всех школьных классов, и я хочу получить только элементы для одного конкретного школьного класса.
Допустим, мне нужны только те, которые содержат 9c, как я могу игнорировать другие?
<tr class="list odd">
<td class="list" align="center">9c</td><td class="list" align="center">5</td><td class="list" align="center">LÜB</td><td class="list" align="center">Ph</td><td class="list" align="center">Ph1</td><td class="list" align="center">LÜB</td><td class="list" align="center">Raum-Vtr.</td><td class="list" align="center">amp;nbsp;</td>
</tr>
Комментарии:
1. 9c — это значение. Я не думаю, что фильтр Jsoup основан на значении узла. Вам придется перебирать и находить.
2. Перечитывая вопрос после публикации моего ответа, я немного запутался в том, ссылаетесь ли вы на класс в своей школе или на
class
атрибут элемента. Подумайте о разъяснении для будущих читателей.
Ответ №1:
В зависимости от желаемой области поиска вам нужен один из :contains()
селекторов :containsOwn()
:matches()
, :matchesOwn()
, и .
Чтобы выбрать только ячейки таблицы в содержащих строках 9c
таблицы, вы бы использовали tr:contains(9c) td
; обратите внимание, что при применении селектора также выполняется tr
поиск дочерних элементов. Если бы вы вместо этого использовали td:contains(9c)
, вы бы получили только одну ячейку, а не ее братьев и сестер в строке (хотя, конечно, вы могли бы выполнить итерацию по братьям и сестрам возвращаемых элементов).
try.jsoup.org не удается получить указанный вами URL-адрес из-за ошибки сертификата, поэтому я не могу дать вам точный запрос, который вам нужен, но это должно помочь вам начать.