in reply to Parsing an XML file

Example XML, and an example dump of the data structure you want would be helpful. Or do you want to process each 'reaction' as you go and not build the whole data structure? Either way, XML::Rules would likely be of great help here, but I don't have enough information to tell what exactly you want.