diff options
author | unknown <Julian@.(none)> | 2010-12-24 18:02:00 +0100 |
---|---|---|
committer | unknown <Julian@.(none)> | 2010-12-24 18:02:00 +0100 |
commit | 11642ba20c10ced6363d81d6e3a0239ac10dab27 (patch) | |
tree | 829f6db50bf085af9f5f105f54eb13aaf8b84ea7 | |
parent | 8ece429d125785e36e468408f0dcb8c31f76da9e (diff) | |
download | jquery-11642ba20c10ced6363d81d6e3a0239ac10dab27.tar.gz jquery-11642ba20c10ced6363d81d6e3a0239ac10dab27.zip |
jQuery.parseXML extracted from ajax & added to core, needs unit testing.
-rw-r--r-- | src/core.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/core.js b/src/core.js index 4c717e3b9..8853e81cc 100644 --- a/src/core.js +++ b/src/core.js @@ -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() {}, |