You might want to take a close look at all the options that are available with XML::Simple... It's a powerfull module which can create a datastrcuture which is very close to your needs, that is if you use the correct options...
Given that you refer to 'ProductType' in your second post it makes me guess that ProductType is the id of each element and that a hash might be better for your needs...