jQuery.parseXML extracted from ajax & added to core, needs unit testing.
authorunknown <Julian@.(none)>
Fri, 24 Dec 2010 17:02:00 +0000 (18:02 +0100)
committerjaubourg <j@ubourg.net>
Fri, 31 Dec 2010 03:05:50 +0000 (04:05 +0100)
src/core.js

index 34d8094..0f9801a 100644 (file)
@@ -546,6 +546,28 @@ jQuery.extend({
                        jQuery.error( "Invalid JSON: " + data );
                }
        },
+       
+       // Cross-browser xml parsing
+       // (xml & tmp used internally)
+       parseXML: function( data , xml , tmp ) {
+
+               if ( window.DOMParser ) { // Standard
+                       tmp = new DOMParser();
+                       xml = tmp.parseFromString( data , "text/xml" );
+               } else { // IE
+                       xml = new ActiveXObject( "Microsoft.XMLDOM" );
+                       xml.async = "false";
+                       xml.loadXML( data );
+               }
+               
+               tmp = xml.documentElement;
+               
+               if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) {
+                       jQuery.error( "Invalid XML: " + data );
+               }
+               
+               return xml;
+       },
 
        noop: function() {},