Many don't like it because it's slow (although most of my requests are semi-instantaneous,) but I've never had any problem with XML::Simple. Easy to install too, doesn't need to be cpann'ed (but that's best.)

I use XML::Simple most of the time but often need XML::Writer to get some complex structures into the right format. SOAP::Lite is also quite useful for WSDL. You can convert a chunk of XML into a data structure (of hashes & arrays) using: my $data = XMLin($xml);