aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorunknown <Julian@.(none)>2010-12-24 18:02:00 +0100
committerunknown <Julian@.(none)>2010-12-24 18:02:00 +0100
commit11642ba20c10ced6363d81d6e3a0239ac10dab27 (patch)
tree829f6db50bf085af9f5f105f54eb13aaf8b84ea7
parent8ece429d125785e36e468408f0dcb8c31f76da9e (diff)
downloadjquery-11642ba20c10ced6363d81d6e3a0239ac10dab27.tar.gz
jquery-11642ba20c10ced6363d81d6e3a0239ac10dab27.zip
jQuery.parseXML extracted from ajax & added to core, needs unit testing.
-rw-r--r--src/core.js22
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() {},