zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    小达同学软件测试第四讲-执行测试
    小达同学软件测试第四讲-执行测试
    Android Studio一直显示Building“project name”Gradle project info问题详解
    Android Studio一直显示Building“project name”Gradle project info问题详解
    安卓入门基础(九)-对应用结构进行分析
    安卓入门基础(九)-对应用结构进行分析
    深入浅出的排序算法-冒泡排序
    深入浅出的排序算法-冒泡排序
    【程序人生】献给还不知道怎么坚持的你
    【程序人生】献给还不知道怎么坚持的你
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/13073087.html
Copyright © 2011-2022 走看看