Advertisement
Guest User

Untitled

a guest
Aug 11th, 2013
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  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);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement