diff options
Diffstat (limited to 'src/ajax/parseXML.js')
-rw-r--r-- | src/ajax/parseXML.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/ajax/parseXML.js b/src/ajax/parseXML.js new file mode 100644 index 000000000..9103c3d6f --- /dev/null +++ b/src/ajax/parseXML.js @@ -0,0 +1,26 @@ +define([ + "../core" +], function( jQuery ) { + // Cross-browser xml parsing + jQuery.parseXML = function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE9 + try { + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }; + + return jQuery.parseXML; +}); |