日期:2014-05-16  浏览次数:20304 次

JS读取XML并显示各节点[兼容IE/FF/Chrome,Safari]

今天同事有需要JS显示XML!
后来就做了一个效果!或许以后能用的着呢! ^_^
JS读取并输出xml文件节点及属性(兼容IE,FF) !
好东东发出来分享一下了!

转自:http://www.ok22.org/art_detail.aspx?id=137(可直接运行)
代码如下:?

Html代码
  1. <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">??
  2. <html?xmlns="http://www.w3.org/1999/xhtml">??
  3. <head>??
  4. <meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312"?/>??
  5. <title>JS读取XML兼容IE/FF/Chrome,Safari</title>??
  6. <style>??
  7. li{list-style:none;} ??
  8. </style>??
  9. <script?type="text/javascript">??
  10. //============================================================== ??
  11. var?orderDoc; ??
  12. //获取xml文件 ??
  13. function?loadXmlFile(xmlFile){ ??
  14. ??var?xmlDom?=?null; ??
  15. ??if?(window.ActiveXObject){ ??
  16. ????xmlDom?=?new?ActiveXObject("Microsoft.XMLDOM"); ??
  17. ????xmlDom.async=false; ??
  18. ???xmlDom.load(xmlFile)||xmlDom.loadXML(xmlFile);//如果用的是XML字符串//如果用的是xml文件 ??
  19. ??}else?if?(document.implementation?&&?document.implementation.createDocument){ ??
  20. ????var?xmlhttp?=?new?window.XMLHttpRequest(); ??
  21. ????xmlhttp.open("GET",?xmlFile,?false); ??
  22. ????xmlhttp.send(null); ??
  23. ????xmlDom?=?xmlhttp.responseXML; ??
  24. ??}else{ ??
  25. ????xmlDom?=?null; ??
  26. ??} ??
  27. ??return?xmlDom; ??
  28. } ??
  29. //判断子节点为不为空 ??
  30. function?isnull(obj) ??
  31. { ??
  32. ????var?nodevalue?=?""; ??
  33. ????if(obj.childNodes