使用 JavaScript 将 XML 转成 JSON

Posted 袜子破了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 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的主要内容,如果未能解决你的问题,请参考以下文章

javascript json对象转成数组

html转成pdf 下载,支持后台保存

javaScript 时间转换,将后台返回的时间为一串数字转成正常格式

怎么将json文件转成xml文件

json和excel如何快速互转,用这个工具可以轻松搞定!!

php/js将 CST时间转成格式化时间