Вот тест, который я собрал:
html = '<div id="foo">bar</div>'
b = Nokogiri::HTML.fragment(html)
b.xpath(".//div").each do |d|
puts d.class
puts d['id']
end
c = b.xpath(".//div")[0]
puts c.class
puts c['id']
Как и следовало ожидать, в результате получается:
Nokogiri::XML::Element
foo
Nokogiri::XML::Element
foo
Таким образом, оба подхода фактически возвращают объект типаNokogiri :: XML :: Element.