永发信息网

怎么通过javascript解析xml文件??

答案:3  悬赏:80  手机版
解决时间 2021-03-12 17:30
  • 提问者网友:温柔港
  • 2021-03-11 20:29
xml文件:<br>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; <br>&lt;employees&gt; <br>&lt;employee&gt; <br>&lt;name&gt;ddviplinux&lt;/name&gt; <br>&lt;sex&gt;m&lt;/sex&gt; <br>&lt;age&gt;30&lt;/age&gt; <br>&lt;/employee&gt; <br>&lt;/employees&gt; <br>我写了一部分代码,但是很多错误,请告诉帮忙修改下:<br>&lt;script language=&quot;javascript&quot;&gt; <br>//var xmlDoc=new ActiveXObject(&quot;Microsoft.XMLDOM&quot;); <br>//xmlDoc.async=&quot;false&quot;; <br>//xmlDoc.load(&quot;web.xml&quot;); <br>function parsexml(){<br> var xmlDoc=null;<br> var parser=null;<br> if(window.DOMParser)<br>   {<br>   parser=new DOMParser();<br>   xmlDoc=parser.parseFromString(&quot;text/xml&quot;);<br>   }<br> else // Internet Explorer<br>   {<br>   xmlDoc=new ActiveXObject(&quot;Microsoft.XMLDOM&quot;);<br>   xmlDoc.async=&quot;false&quot;;<br>   xmlDoc.loadXML(&quot;text/xml&quot;);<br>   }<br><br>var xml = xmlDoc.documentElement; <br>var employee = xml.getElementsByTagName(&quot;employee&quot;);<br>//alert(xml.getElementsByTagName(&quot;nid&quot;)[0].childNodes[0].nodeValue);<br>//document.write(xml.getElementsByTagName(&quot;name&quot;)[i].childNodes[0].nodeValue);<br>//解析xml的值<br>for(var i=0;i&lt;employee.length;i++){<br>   document.write(employee[i].getElementsByTagName(&quot;name&quot;)[0].childNodes[0].nodeValue);<br>   document.write(employee[i].getElementsByTagName(&quot;sex&quot;)[0].childNodes[0].nodeValue);<br>   document.write(employee[i].getElementsByTagName(&quot;age&quot;)[0].childNodes[0].nodeValue);<br>}<br>}<br>&lt;/script&gt;<br><br>我这样写还存在一点问题:<br>&lt;script language=&quot;javascript&quot;&gt; <br>function parsexml(){<br> var xmlDoc=new ActiveXObject(&quot;Microsoft.XMLDOM&quot;); //activexobect也是红色的,错误的,不知道怎么回事<br> xmlDoc.async=&quot;false&quot;; <br> xmlDoc.load(&quot;web.xml&quot;); //load是红色的,错误的语法<br><br>var xml = xmlDoc.documentElement; <br>var employee = xml.getElementsByTagName(&quot;employee&quot;);<br>for(var i=0;i&lt;employee.length;i++){<br>   document.write(employee[i].getElementsByTagName(&quot;name&quot;)[0].childNodes[0].nodeValue);<br>   document.write(employee[i].getElementsByTagName(&quot;sex&quot;)[0].childNodes[0].nodeValue);<br>   document.write(employee[i].getElementsByTagName(&quot;age&quot;)[0].childNodes[0].nodeValue);<br>}<br>}<br>&lt;/script&gt;
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-03-11 21:26
你那补充里的代码只适合ie,我测试过没有问题,不知道你用的什么编辑器
全部回答
  • 1楼网友:洒脱疯子
  • 2021-03-11 23:10
有没有接触过jquery,这个js 库,是当前基本上所有前台都会用的js库。 而且非常强大,xml,json,都可以进行处理。 w3cschool 里面就有教程。 javascript处理xml 的内容太多,给你说不完,你自己去w3cschool学习吧。 祝你好运....
  • 2楼网友:野味小生
  • 2021-03-11 23:02
用我的这个函数加载XML,IE,FF,Chrome都通过。 function loadXMLDoc(url) { var xmlDoc; try{ xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } catch(e){ try{ var oXmlHttp = new XMLHttpRequest() ; oXmlHttp.open( "GET", url, false ) ; oXmlHttp.send(null) ; return oXmlHttp.responseXML; } catch(e){ return; } } xmlDoc.async=false; xmlDoc.load(url); return xmlDoc; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯