XML parsing is not possible with a *simple* regexp, it requires a proper parser. Having said that, it's possible with lots of complex regexps, or at least mostly possible. See Paul Kulchenko's XML::Parser::Lite for that.
Now parsing a subset of XML, well that's a totally different matter. And entirely appropriate in certain situations. Yes, that is me saying that.
Oh, and XML::SAX::PurePerl has plenty of error checking. But it's likely way too slow for the questioner's problem.