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)
时间: 2024-10-25 10:53:01