Saxy finds object definitions in XML files and translates them into Ruby objects. It uses SAX parser under the hood, which means that it doesn't load the whole XML file into memory. It goes once though it and yields objects along the way.
Gemfile gem 'saxy', '~> 0.2.3'
install gem install saxy