in reply to Reading and Manipulation XML Files

Maybe try XML::Simple::DTDReader