Simple XML is basically HTML with random tags, yeah? Parse it with Hpricot!
Your XML:
1 2 <Export> 3 <Product> 4 <SKU>403276</SKU> 5 <ItemName>Trivet</ItemName> 6 <CollectionNo>0</CollectionNo> 7 <Pages>0</Pages> 8 </Product> 9 </Export>
The code:
1 2 require 'hpricot' 3 FIELDS = %w[SKU ItemName CollectionNo Pages] 4 5 doc = Hpricot.parse(File.read("my.xml")) 6 (doc/:product).each do |xml_product| 7 product = Product.new 8 for field in FIELDS 9 product[field] = (xml_product/field.intern).first.innerHTML 10 end 11 product.save 12 end