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

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

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

node.content

但是,这似乎记录不足.无论如何,经过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!
点赞