• js解析xml字符串


    let loadXML = function(xmlString){

            var xmlDoc=null;

            //判断浏览器的类型

            //支持IE浏览器

            if(!window.DOMParser && window.ActiveXObject){   //window.DOMParser 判断是否是非ie浏览器

                var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];

                for(var i=0;i<xmlDomVersions.length;i++){

                    try{

                        xmlDoc = new ActiveXObject(xmlDomVersions[i]);

                        xmlDoc.async = false;

                        xmlDoc.loadXML(xmlString); //loadXML方法载入xml字符串

                        break;

                    }catch(e){

                    }

                }

            }

            //支持Mozilla浏览器

            else if(window.DOMParser && document.implementation && document.implementation.createDocument){

                try{

                    /* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。

                     * 要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法

                     * parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本的内容类型

                     * 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。注意,不支持 "text/html"。

                     */

                    domParser = new  DOMParser();

                    xmlDoc = domParser.parseFromString(xmlString, 'text/xml');

                }catch(e){

                }

            }

            else{

                return null;

            }

     

            return xmlDoc;

        }

     

    核心方法

    创建文档对象  DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。

     let parser = new DOMParser();

     let xmlDoc = parser.parseFromString(res, 'text/xml');

    然后就可以获得你所需要的数据

    let needXML = xmlDoc.getElementsByTagName('数据集');

    let recordXML = needXML.getElementsByTagName('记录')[5];

    let result = recordXML.getElementsByTagName.innerHTML

  • 相关阅读:
    Problem: 八中上厕所
    Problem: 最短路上的统计
    股票买卖问题
    Redis(十二)——Redis为什么是单线程的?
    链表题汇总
    Redis(十一)——集群模式
    Redis(十)——哨兵模式
    Redis(九)——主从复制
    Redis(八)——客户端与服务器
    Redis(七)——事件
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/13073087.html
Copyright © 2020-2023  润新知