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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM