2014-12-21 3 views
0

Я хотел бы использовать Jsoup для выбора элемента с дочерним элементом, который соответствует селектору X. Однако мне не нужен ребенок: я хочу, чтобы его содержал родительский.Jsoup - выберите элемент с дочерним элементом X

Например, если <p><img src="1"/></p><p><img src="2"/></p>", я хотел бы быть в состоянии сделать что-то вроде "p:with-child(img[src=2])" выбрать "<p><img src="2"/></p>"

+0

Это уже в документах - http://jsoup.org/cookbook/extracting-data/dom-navigation Укажите свой селектор для конкретного ребенка и то вы можете использовать метод 'parent()' для захвата своего родителя. –

+0

Но я не знаю, как далеко это - это может быть внук или великая героиня, поэтому я не знаю, как назвать родителя. – SRobertJames

+0

Хорошо, получилось ваше мнение. Проверьте, предоставил ли ответ ответ на вашу проблему. –

ответ

2

Вы можете попробовать с с:

document.select("p:has(img[src=2])") 

который будет возвращать все p элементы, которые содержат <img src="2" /> элементов в одном из узлов для детей. Это может быть первый уровень или n-уровень, если он вложен в некоторые другие элементы html.

Другой подход заключается в использовании метода parents(), который вернет список родителей в древовидном порядке. Но тогда вам придется пройти этот список и найти интересующего вас родителя.

Смежные вопросы