问题描述
现在用xmlDoc=newActiveXObject('Microsoft.XMLDOM');xmlDoc.async=false;xmlDoc.loadXML(xmlContent);去解析xml文件,需要IE8,IE9,IE10,IE11兼容,目前用这个只支持IE8,请问我要怎么做,用什么方式处理可以解决呢?web端的东西做得少没经验,谢谢帮助。用JQUERY好像也可以,目前已经用XMLDOM实现IE8兼容,怎样修改变动量小点呢?谢谢。
解决方案
解决方案二:
参考:if(window.DOMParser){parser=newDOMParser();xmlDoc=parser.parseFromString(txt,"text/xml");}else//InternetExplorer{xmlDoc=newActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.loadXML(txt);}
还可以参考:如果是通过文件名加载,可以参考
解决方案三:
引用1楼save4me的回复:
参考:if(window.DOMParser){parser=newDOMParser();xmlDoc=parser.parseFromString(txt,"text/xml");}else//InternetExplorer{xmlDoc=newActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.loadXML(txt);}还可以参考:如果是通过文件名加载,可以参考
我查资料DOMParser不支持IEActiveXObject("Microsoft.XMLDOM");也不支持IE11
解决方案四:
从IE9开始,MS越来越支持标准了。我不知道你查的资料是怎么说的,但是MSDN介绍IE9是有DOMParser对象的:引用2楼xunis的回复:
我查资料DOMParser不支持IEActiveXObject("Microsoft.XMLDOM");也不支持IE11
解决方案五:
我也在查同样的问题,后来改用ajax解决的varxmlDoc="";$(function(){$.ajax({url:"js/Ctry/xml/area.xml",dataType:'xml',type:'GET',timeout:2000,error:function(xml){alert("加载XML文件出错!");},success:function(xml){xmlDoc=xml;var$s1=$("#SelectProvince");var$s2=$("#SelectCity");var$s3=$("#SelectDistrict");varv1="北京市";varv2="北京辖区";varv3="东城区";varroot=$(xmlDoc).find("address")[0];$(root).children("province").each(function(){appendOptionTo($s1,$(this).attr("name"),$(this).attr("name"),v1);});$s1.change(function(){$s2.html("");varprovince_node=$(root).children("province")[this.selectedIndex];$(province_node).children("city").each(function(){appendOptionTo($s2,$(this).attr("name"),$(this).attr("name"),v2);});$s2.change();}).change();$s2.change(function(){$s3.html("");varprovince_node=$(root).children("province")[$s1[0].selectedIndex];varcity_node=$(province_node).children("city")[this.selectedIndex];$(city_node).children("country").each(function(){appendOptionTo($s3,$(this).attr("name"),$(this).attr("name"),v3)});}).change();functionappendOptionTo($o,k,v,d){var$opt=$("<option>").text(k).val(v);if(v==d){$opt.attr("selected","selected")}$opt.appendTo($o);}}});});