浅析用js读取xml的方法

不同的浏览器对xml的解析方式不同,根据目前主流浏览器大致分三类:
  • 第一类,ie祖宗: js 提供用于创建 Automation对象的方法,new ActiveXObject("Microsoft.XMLDOM") ;
  • 第二类:firefox,opera:用构造函数 DOMParser()实例化DOMParser对象,解析xml文本,并返回xml Document对象;
  • 第三类:chrome,safari:由于chrome不支持load方法,故用http协议,XMLHttpRequest对象。
function loadXML(){
     var xmlDoc;
     try{     //IE
               xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
     }catch(e){  //firefox,opera
               xmlDoc = document.implementation.createDocument("","",null);
     }

     try{
               xmlDoc.asyc = false;   //是否异步调用
               xmlDoc.load("xxx.xml");  //文件路径
     }catch(e){  //chrome
               var xmlhttp = new window.XMLHttpRequest();
                   xmlhttp.open("GET","xxx.xml",false);   //创建一个新的http请求,并指定此请求的方法、URL以及验证信息

                    xmlDoc = xmlhttp.responseXML;
     }
     
     return xmlDoc;
}

返回的xmlDoc对象,其中属性docu

返回的xmlDoc对象,其中属性documentElement包含了xml节点的各种值,可以console出来慢慢找。


ps:如果是读取本地xml,chrome默认是禁止访问本地文件,需要增加启动参数 --allow-file-access-from-files。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值