Я пытаюсь проанализировать HTML-файл следующего формата в необходимом разделе:
<div style="something"> <div class="link"> <a href="http://..." class="headline">Headline</a> </div> <div class="text"> Text summary is here </div> repeating... </div>
Я хочу вывести заголовок, за которым следует текст.
HEADLINE Text goes here. HEADLINE Text goes here.
В настоящее время я могу искать тег с помощью class = "headline", получать список и делать то же самое с текстом div. Затем выполните итерацию по каждому из них, чтобы вывести заголовок и текст последовательно.
Могу ли я получить Hpricot / Nokogiri, чтобы сохранить его в таком порядке, пока он анализирует файл?
Конечно.
doc = Nokogiri::HTML(html) doc.xpath('//a[@class="headline"]').each do |headline| puts headline.text puts headline.xpath('../following-sibling::div[1]').text end