JavaScript – How to Parse XML with jQuery

javascriptjquery

What is the jQuery alternative to the following JavaScript code?

var xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml");

I believe a jQuery alternative would be more cross-browser compatible?

Best Answer

The cross-browser approach is the following, which I posted a few minutes ago in answer to a similar question:

var parseXml;

if (window.DOMParser) {
    parseXml = function(xmlStr) {
        return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
    };
} else if (typeof window.ActiveXObject != "undefined" && new window.ActiveXObject("Microsoft.XMLDOM")) {
    parseXml = function(xmlStr) {
        var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(xmlStr);
        return xmlDoc;
    };
} else {
    parseXml = function() { return null; }
}

var xml = parseXml("<foo>Stuff</foo>");
if (xml) {
    window.alert(xml.documentElement.nodeName);
}
Related Question