<tbody>
doit être uniquement être utilisé pour envelopper le corps de votre table, donc en supposant que vous avez pas d'en-tête ou le pied de page, cela fonctionnera:
require 'rubygems'
require 'nokogiri'
html = Nokogiri::HTML(DATA)
html.xpath('//table').each do |htable|
tbody = html.create_element('tbody')
tbody.children = htable.children
htable.children = tbody
end
puts html.xpath('//table').to_s
__END__
<table border="0" cellspacing="5" cellpadding="5">
<tr><td>Data</td></tr>
<tr><td>Data2</td></tr>
<tr><td>Data3</td></tr>
</table>
impressions
<table border="0" cellspacing="5" cellpadding="5"><tbody>
<tr><td>Data</td></tr>
<tr><td>Data2</td></tr>
<tr><td>Data3</td></tr>
</tbody></table>