Ruby 如何获取Nokogiri中的下一个HTML元素?
假设我的HTML文档如下所示:Ruby 如何获取Nokogiri中的下一个HTML元素?,ruby,nokogiri,Ruby,Nokogiri,假设我的HTML文档如下所示: <div class="headline">News</div> <p>Some interesting news here</p> <div class="headline">Sports</div> <p>Baseball is fun!</p> 但是如何访问以下p标签中的内容,以便新闻与此处的一些有趣新闻等相关?您想要: 还有item.next,但它也将返回文本
<div class="headline">News</div>
<p>Some interesting news here</p>
<div class="headline">Sports</div>
<p>Baseball is fun!</p>
但是如何访问以下p
标签中的内容,以便新闻
与此处的一些有趣新闻
等相关?您想要:
还有
item.next
,但它也将返回文本节点,其中item.next\u元素
将只返回元素节点(如p
)。当我使用next\u元素编辑时,我得到一个nil
对象。它看起来像“headline”div
在span
中。我将更新完成此任务的XML示例。我必须执行item.parent.next\u元素
,因为标题div位于span标记内。谢谢您可能需要验证该HTML。如果我记得正确的div不应该在span标记中,“item.next…还将返回文本节点”对我非常有用,谢谢。从文件上看,这是非常不清楚的。
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
doc.css(".headline").each do |item|
puts item.text
puts item.next_element.text
end