var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); function loadXML(xmlFile) { xmlDoc.async = "false"; xmlDoc.onreadystatechange = verify; xmlDoc.load(xmlFile); } function verify() { if(xmlDoc.readyState != 4) { return false; } } function traverse(tree) { if(tree.hasChildNodes()) { document.write(''); } else { document.write(tree.text); } } function initTraverse(file) { loadXML(file); var doc = xmlDoc.documentElement; traverse(doc); } var xmlDoc = null; function loadXML(xmlFile) { var request = new XMLHttpRequest(); request.open('GET', xmlFile, false); // false is synchronous request.send(); xmlDoc = request.responseXML; } if (window.XMLHttpRequest) return new window.XMLHttpRequest(); else if (window.ActiveXObject) { // the many versions of IE's XML fetchers var AXOs = [ 'MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP', 'MSXML.XMLHTTP' ]; for (var i = 0; i < AXOs.length; i++) { try { return new ActiveXObject(AXOs[i]); } catch() { continue; } } return null; } if (window.DOMParser) return (new DOMParser()).parseFromString(str, 'text/xml'); else if (window.ActiveXObject) { var doc; // the many versions of IE's DOM parsers var AXOs = [ 'MSXML2.DOMDocument.6.0', 'MSXML2.DOMDocument.5.0', 'MSXML2.DOMDocument.4.0', 'MSXML2.DOMDocument.3.0', 'MSXML2.DOMDocument', 'Microsoft.XMLDOM', 'MSXML.DOMDocument' ]; for (var i = 0; i < AXOs.length; i++) { try { doc = new ActiveXObject(AXOs[i]); break; } catch() { continue; } } if (!doc) return createElement('div', null); if (doc.async) doc.async = false; doc.loadXML(str); return doc; } return createElement('div', null);