Я пытаюсь изменить HTML-код в Groovy. Я разобрал его с помощью XMLSlurper. Проблема в том, что мне нужно отредактировать текст определенного тега, который содержит текстовые и дочерние теги. Html-код выглядит так:
<ul><li>Text to modify<span>more text</span></li></ul>
В Groovy я пробую этот код:
def ulDOM = new XmlSlurper().parseText(ul);
def elements = ulDOM.li.findAll{
it.text().equals("text i am looking for");
}
Проблема в том, что у меня есть пустой массив в 'elements', потому что it.text () возвращает текст из 'it' узла вместе со всеми текстовыми узлами поддерева DOM. В данном случае «Текст для изменения большего количества текста». Обратите внимание, что для моего решения недостаточно метода contains ().
Мой вопрос в том, как получить точный текст из определенного тега, а не текст из всего поддерева DOM?