js将xml格式内容转换为json格式
分类:实例代码
本章节分享几个代码片段,它实现了将xml格式内容转换为json格式。
一.JavaScript代码如下:
// Changes XML to 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; } } } 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); } obj[nodeName].push(xmlToJson(item)); } } } return obj; };
二.XML代码:
<alexa ver="0.9" url="davidwalsh.name/" home="0" aid="="> <sd title="a" flags="" host="davidwalsh.name"> <title text="david walsh blog :: php, mysql, css, javascript, mootools, and everything else"/> <linksin num="1102"/> <speed text="1421" pct="51"/> </sd> <sd> <popularity url="davidwalsh.name/" text="7131"/> <reach rank="5952"/> <rank delta="-1648"/> </sd> </alexa>
三.转换json结果:
{ "@attributes": { AID: "=", HOME: 0, URL: "davidwalsh.name/", VER: "0.9", }, SD = [ { "@attributes": { FLAGS: "", HOST: "davidwalsh.name", TITLE: A }, LINKSIN: { "@attributes": { NUM: 1102 } }, SPEED: { "@attributes": { PCT: 51, TEXT: 1421 } }, TITLE: { "@attributes": { TEXT: "David Walsh Blog :: PHP, MySQL, CSS, Javascript, MooTools, and Everything Else", } }, }, { POPULARITY: { "@attributes": { TEXT: 7131, URL: "davidwalsh.name/" } }, RANK: { "@attributes": { DELTA: "-1648" } }, REACH: { "@attributes": { RANK = 5952 } } } ] }
一线大厂高级前端编写,前端初中阶面试题,帮助初学者应聘,需要联系微信:javadudu