function parseXML(str) { var xmlDoc; str = '' + str + ''; // chrome, opera, mozilla, safari try { xmlDoc = (new DOMParser()).parseFromString(str, 'text/xml') } catch (e) { try { xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); xmlDoc.async = 'false'; xmlDoc.loadXML(str); } catch (e) { xmlDoc = false; } } debug('document.adoptNode: ' + document.adoptNode + '\ndocument.importNode = ' + document.importNode); xmlDoc = (document.adoptNode ? document.adoptNode(xmlDoc.documentElement) : (document.importNode ? document.importNode(xmlDoc.documentElement, true) : xmlDoc.documentElement ) ); return xmlDoc; }