Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Aug 11th, 2013  |  syntax: None  |  size: 2.29 KB  |  views: 35  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  2.  
  3. function loadXML(xmlFile) {
  4.     xmlDoc.async = "false";
  5.     xmlDoc.onreadystatechange = verify;
  6.     xmlDoc.load(xmlFile);
  7. }
  8.  
  9. function verify() {
  10.     if(xmlDoc.readyState != 4) {
  11.         return false;
  12.     }
  13. }
  14.  
  15. function traverse(tree) {
  16.     if(tree.hasChildNodes()) {
  17.         document.write('<ul><li>');
  18.         document.write('<b>' + tree.tagName + ': </b>');
  19.         var nodes = tree.childNodes.length;
  20.  
  21.         for(var i = 0; i < tree.childNodes.length; i++) {
  22.             traverse(tree.childNodes(i));
  23.         }
  24.         document.write('</il></ul>');
  25.     } else {
  26.         document.write(tree.text);
  27.     }
  28. }
  29.  
  30. function initTraverse(file) {
  31.     loadXML(file);
  32.     var doc = xmlDoc.documentElement;
  33.     traverse(doc);
  34. }
  35.        
  36. var xmlDoc = null;
  37. function loadXML(xmlFile) {
  38.   var request = new XMLHttpRequest();
  39.   request.open('GET', xmlFile, false); // false is synchronous
  40.   request.send();
  41.  
  42.   xmlDoc = request.responseXML;
  43. }
  44.        
  45. if      (window.XMLHttpRequest) return new window.XMLHttpRequest();
  46.   else if (window.ActiveXObject) {
  47.      // the many versions of IE's XML fetchers
  48.      var AXOs = [
  49.         'MSXML2.XMLHTTP.6.0',
  50.         'MSXML2.XMLHTTP.5.0',
  51.         'MSXML2.XMLHTTP.4.0',
  52.         'MSXML2.XMLHTTP.3.0',
  53.         'MSXML2.XMLHTTP',
  54.         'Microsoft.XMLHTTP',
  55.         'MSXML.XMLHTTP'
  56.      ];
  57.      for (var i = 0; i < AXOs.length; i++) {
  58.         try     { return new ActiveXObject(AXOs[i]); }
  59.         catch() { continue; }
  60.      }
  61.      return null;
  62.   }
  63.        
  64. if      (window.DOMParser)     return (new DOMParser()).parseFromString(str, 'text/xml');
  65.     else if (window.ActiveXObject) {
  66.         var doc;
  67.  
  68.         // the many versions of IE's DOM parsers
  69.         var AXOs = [
  70.             'MSXML2.DOMDocument.6.0',
  71.             'MSXML2.DOMDocument.5.0',
  72.             'MSXML2.DOMDocument.4.0',
  73.             'MSXML2.DOMDocument.3.0',
  74.             'MSXML2.DOMDocument',
  75.             'Microsoft.XMLDOM',
  76.             'MSXML.DOMDocument'
  77.         ];
  78.         for (var i = 0; i < AXOs.length; i++) {
  79.             try     { doc = new ActiveXObject(AXOs[i]); break; }
  80.             catch() { continue; }
  81.         }    
  82.         if (!doc) return createElement('div', null);
  83.  
  84.         if (doc.async) doc.async = false;
  85.         doc.loadXML(str);
  86.         return doc;
  87.     }
  88.     return createElement('div', null);