Index: parsers.php
===================================================================
--- parsers.php	(revision 304345)
+++ parsers.php	(working copy)
@@ -11,13 +11,21 @@
  */
 class WXR_Parser {
 	function parse( $file ) {
-		if ( extension_loaded( 'simplexml' ) )
+		if ( extension_loaded( 'simplexml' ) ) {
 			$parser = new WXR_Parser_SimpleXML;
-		else if ( extension_loaded( 'xml' ) )
+			$result = $parser->parse( $file );
+			if ( ! is_wp_error( $result ) )
+				return $result;
+		}
+
+		if ( extension_loaded( 'xml' ) ) {
 			$parser = new WXR_Parser_XML;
-		else
-			$parser = new WXR_Parser_Regex;
+			$result = $parser->parse( $file );
+			if ( ! is_wp_error( $result ) )
+				return $result;
+		}
 
+		$parser = new WXR_Parser_Regex;
 		return $parser->parse( $file );
 	}
 }
