Drying my code ..

I am parsing an xml result using Hpricot, amazing ..
I have a serie of tags to be transformed as parameters, so I am
building Hash by looping on these tags , the resulting data is oK? but
I ma not sure that I wrote a dry code

.......
        if doc.search('response > error').innerHTML.empty?
          accountTypes = []
          (doc/:accounttype).each do |accountType|
            data = {}
....
            data[:locale] =
(accountType/:localized/:locale/:code).innerHTML
            data[:title] =
(accountType/:localized/:locale/:title).innerHTML
....
... # here is the loop over the <tags> elements
           tags = {}
           (accountType/:tag).each do |tag|
             key = (tag/:name).innerHTML.to_s
             value = (tag/:value).innerHTML.to_s
             tags.store(key, value)
           end
.....# end of the loop , storing the data
            data[:tags] = tags
           accountTypes << data
           end

Is this loop OK ?
           tags = {}
           (accountType/:tag).each do |tag|
             key = (tag/:name).innerHTML.to_s
             value = (tag/:value).innerHTML.to_s
             tags.store(key, value)
           end

thanks for you fedback