Игнорировать весь класс, если подкласс содержит нежелательное значение с помощью jsoup

#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-адрес из-за ошибки сертификата, поэтому я не могу дать вам точный запрос, который вам нужен, но это должно помочь вам начать.