JSoup выбрать Div на основе идентификатора и Href на основе названия - PullRequest
2 голосов
/ 18 января 2012

Я использую JSoup для разбора ответа HTML. У меня есть несколько тегов Div. Я должен выбрать тег Div на основе идентификатора.

Мой псевдокод выглядит так,

Document divTag = Jsoup.connect(link).get();
Elements info = divTag.select("div#navDiv");

где navDiv - это идентификатор. Но, похоже, это не работает.

Также я хотел бы выбрать Href внутри Div на основе некоторого заголовка, где hrefTitle [] будет строковым массивом. Таким образом, во время итерации href я бы проверял, присутствует ли заголовок в массиве строк, если это так, я бы добавил их в список, иначе игнорировать Как выбрать HREF внутри Div? и как выбрать заголовок? любые входные данные высоко ценятся.

1 Ответ

1 голос
/ 18 января 2012

Но, похоже, это не работает.

Это должно работать. Доказательство:

Document doc = Jsoup.parse("<html><body><div/>" + 
    "<div id=\"navDiv\">" + 
        "<a href=\"href1\">link1</a>" +
        "<a href=\"href2\">link2</a><" +
    "</div></body></html>");
Element div = doc.select("div#navDiv").first();

Теперь мы можем выбрать элемент a внутри div, который имеет (например) атрибут href со значением href2:

System.out.println(div.select("a[href=href2]"));

Выход:

<a href="href2">link2</a>

Полный синтаксис селектора можно найти здесь:

...