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

时间:2011-03-22 15:26:15

标签: ruby nokogiri

假设我的HTML文档如下:

<div class="headline">News</div>
<p>Some interesting news here</p>
<div class="headline">Sports</div>
<p>Baseball is fun!</p>

我可以使用以下代码获取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 

但是如何访问以下p代码中的内容,以便NewsSome interesting news here等相关?

1 个答案:

答案 0 :(得分:30)

您想要Node#next_element

doc.css(".headline").each do |item|
  puts item.text
  puts item.next_element.text
end

还有item.next,但这也将返回文本节点,其中item.next_element将仅返回元素节点(如p)。