美文网首页我爱编程
程序媛浅析用js解析xml的方法

程序媛浅析用js解析xml的方法

作者: 极乐君 | 来源:发表于2016-11-24 16:19 被阅读0次

    原文地址:浅析用js解析xml的方法

    第一次发博文,写得不对或者不好的地方,望大家指出,但素,言词麻烦温柔一丢丢。

    由于项目上需要解析xml,于是各种百度,然后自己总结了下各个主流浏览器解析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){  /rome
                   var xmlhttp = new window.XMLHttpRequest();
                   xmlhttp.open("GET","xxx.xml",false);   //创建一个新的http请求,并指定此请求的方法、URL以及验证信息
                   xmlDoc = xmlhttp.responseXML;
         }  
         return xmlDoc;
    }
    

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

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

    手动end!

    相关文章

      网友评论

        本文标题:程序媛浅析用js解析xml的方法

        本文链接:https://www.haomeiwen.com/subject/fmgbpttx.html