如何获得Nokogiri中的下一个HTML元素?

cbm*_*eks 11 ruby nokogiri

假设我的HTML文档如下:

<div class="headline">News</div>
<p>Some interesting news here</p>
<div class="headline">Sports</div>
<p>Baseball is fun!</p>
Run Code Online (Sandbox Code Playgroud)

我可以headline使用以下代码获取div:

require 'rubygems'
require 'nokogiri'
require 'open-uri'

url = "mypage.html"
doc = Nokogiri::HTML(open(url))

doc.css(".headline").each do |item|  
  puts item.text
end 
Run Code Online (Sandbox Code Playgroud)

但是如何访问以下p标记中的内容以便News与之相关Some interesting news here

Nat*_*ard 30

你想要Node#next_element:

doc.css(".headline").each do |item|
  puts item.text
  puts item.next_element.text
end
Run Code Online (Sandbox Code Playgroud)

还有item.next,但也会返回文本节点,其中item.next_element只返回元素节点(如p).