Использую библиотеку JSOUP. Вот кусок HTML, который я парсю:
<div class="mp_text">
<div id="news-id-XXX" style="display:inline;">Текст статьи</div>
</div>
При помощи следующего куска кода, я достаю значение Текст статьи:
Elements elements = doc.select(".mp_text");
for (Element el : elements) {
list.add(el.text());
}
Но мне нужно достать значение news-id-XXX, текст самой статьи меня не интересует. Перепробовал многие комбинации кода - не получается. Пожалуйста, помогите :)
С помощью doc.select(".mp_text") вы получаете родительский div, внутри которого находятся интересующие вас статьи. Вам нужно либо обратиться к дочерним элементам el, либо при выборе элементов сразу взять дочерние. Ниже реализация 2го варианта:
List<String> list = new ArrayList<>();
String html =
"<html>" +
"<body>" +
" <div class=\"mp_text\">" +
" <div id=\"news-id-XXX\" style=\"display:inline;\">Текст статьи</div>" +
" </div>" +
"</body>" +
"</html>";
Document doc = Jsoup.parse(html);
Elements elements = doc.select(".mp_text div");
for (Element el : elements) {
list.add(el.id());
}
System.out.println(list); //[news-id-XXX]
Сборка персонального компьютера от Artline: умный выбор для современных пользователей