首页 > 代码库 > 使用 JavaScript 将 XML 转成 JSON

使用 JavaScript 将 XML 转成 JSON

function xmlToJson(xml) {    // Create the return object    var obj = {};    if (xml.nodeType == 1) { // element        // do attributes        if (xml.attributes.length > 0) {            obj["@attributes"] = {};            for (var j = 0; j < xml.attributes.length; j++) {                var attribute = xml.attributes.item(j);                obj["@attributes"][attribute.nodeName] = attribute.nodeValue;            }        }        obj[‘@textContent‘] = xml.textContent;    } else if (xml.nodeType == 3) { // text        obj = xml.nodeValue;    }    // do children    if (xml.hasChildNodes()) {        for(var i = 0; i < xml.childNodes.length; i++) {            var item = xml.childNodes.item(i);            var nodeName = item.nodeName;            if (typeof(obj[nodeName]) == "undefined") {                obj[nodeName] = xmlToJson(item);            } else {                if (typeof(obj[nodeName].length) == "undefined") {                    var old = obj[nodeName];                    obj[nodeName] = [];                    obj[nodeName].push(old);                }                if(Array.isArray(obj[nodeName])){                    obj[nodeName].push(xmlToJson(item));                }            }        }    }    return obj;};var testUrl = ‘http://backmisc-beta.somaapp.com/static/team_publish/kingdom_fighter_letter/index_ar.xml‘;var xmlhttp = new window.XMLHttpRequest();  xmlhttp.open("GET",testUrl,false);  xmlhttp.send(null);  xmlDoc = xmlhttp.responseXML.documentElement; xmlToJson(xmlDoc)

  

使用 JavaScript 将 XML 转成 JSON