jsoup Java, брать только текст элемента верхнего уровня
Обрабатываю тело html документа и мне необходимо брать текст одного из элементов td - "Название организации", а "Старое название организации" внутри span брать не надо, пример:
<tr>
<td>Название</td>
<td>*Название организации*<span class="oldValue">*Старое название организации*</span></td>
</tr>
На данный момент я пытался использовать следующий код:
doc.select("td:contains(Название)+td").text()
Но проблема в том, что он также берет текст внутри элемента span. Подскажите, может быть есть ли возможность брать текст только элемента верхнего уровня и не брать текст его дочернего элемента? Или брать сам родительский элемент без дочернего и уже из него извлекать текст?
Ответы (1 шт):
Автор решения: Skulfinder
→ Ссылка
Разобрался, как решить свою проблему, можно предварительно изменять html документ, удаляя из него элемент span внутри td с нужным текстом:
doc.getElementsByClass("oldValue").remove();
// или так:
doc.select("td:contains(Название)+td>span").remove();
Получаю:
<tr>
<td>Название</td>
<td>*Название организации*</td>
</tr>