hpricot:An Hpricot Showcase:Hpricot XML:Transforming XML

まんま

require 'hpricot'

xml = <<XML
<entries>
  <entry>
    <name>c</name>
    <value>d</value>
  </entry>
</entries>
XML

Hpricot::Builder.set :indent, 2

doc = Hpricot::XML(xml)

doc.at('entry').before do
  tag!'entry' do
    tag!'name', 'a'
    tag!'value', 'b'
  end
end

puts doc

で、

<entries>
  <entry><name>a</name><value>b</value></entry><entry>
    <name>c</name>
    <value>d</value>
  </entry>
</entries>