То, что я пытаюсь сделать, кажется мне таким простым, но я борюсь гораздо больше, чем следовало бы. У меня есть документ, который содержит следующее:
<h2>First Heading</h2>
<table>
<div class="title">First Subheading One</div>
<div class="title">First Subheading Two</div>
<div class="title">First Subheading Three</div>
</table>
<h2>Second Heading</h2>
<table>
<div class="title">Second Subheading One</div>
<div class="title">Second Subheading Two</div>
<div class="title">Second Subheading Three</div>
</table>
<h2>Third Heading</h2>
<table>
<div class="title">Third Subheading One</div>
<div class="title">Third Subheading Two</div>
<div class="title">Third Subheading Three</div>
</table>
Использование doc.select ("h2") дает мне все заголовки, как и ожидалось. Использование doc.select ("div.title") дает мне все подзаголовки, также, как и ожидалось. То, что я пытаюсь сделать, это перебирать возвращенные элементы h2 и внутри них, затем перебирать возвращенные элементы div.title - я пробовал много вещей, и я совсем не новичок в кодировании (новичок в jsoup , однако) но я просто не могу обернуться, как это сделать.
Headings = httpDoc.select("h3");
for(Element Headings : heading) {
// something with heading.nextSibling here
}
Должен ли я что-то сделать (например, nextSibling), которое даст мне узел? И оттуда я могу сделать еще один выбор ("div.title") и перебрать их, чтобы получить подзаголовки?
Или я поступаю совершенно неправильно? Извиняюсь, если это кажется глупым - чувствую себя немного глупо, поскольку я кодирую больше лет, чем я готов признать, но никогда не приходилось иметь дело с DOM (всегда был парнем из Win32).