如何从Nokogiri :: XML :: Reader获取Node元素?

时间:2011-03-16 15:57:21

标签: ruby nokogiri

文档声明您可以使用.each循环遍历节点,并且节点将返回到块。但是,事实并非如此。返回的“节点”只是Reader的一个实例。

我需要获取Node对象,以便我可以访问:

node.content

然而,这似乎记录不足。无论如何,经过2个小时的尝试,我无法找到如此简单的事情。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

你在找这样的东西吗?

require 'nokogiri'

xml = <<eoxml
<x xmlns:tenderlove='http://tenderlovemaking.com/'>
<tenderlove:foo awesome='true'>snuggles!</tenderlove:foo>
<truth>echo chamber</truth>
</x>
eoxml

doc = Nokogiri::XML::Reader(xml)

doc.each do |node|
  if node.attributes == {"awesome"=>"true"}
    puts node.inner_xml
  end
end

# => snuggles!