输入banner图图片脚本导航/分类

JavaScript将XML转成JSON的方法_javascript技巧

本文实例讲述了JavaScript将XML转成JSON的方法。分享给大家供大家参考。具体方法如下:

1. 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;
};

2. XML代码:
代码如下:


<br /> <LINKSIN NUM="1102"/><br /> <SPEED TEXT="1421" PCT="51"/><br /> </SD><br /> <SD><br /> <POPULARITY URL="davidwalsh.name/" TEXT="7131"/><br /> <REACH RANK="5952"/><br /> <RANK DELTA="-1648"/><br /> </SD><br /> </ALEXA></div><br /> 3. JSON结果:<br /> <div class="codetitle"><span><U></U></span> 代码如下:</div><div class="codebody" id="code35638">{<br /> "@attributes": {<br /> AID: "=",<br /> HOME: 0,<br /> URL: "davidwalsh.name/",<br /> VER: "0.9",<br /> },<br /> SD = [<br /> {<br /> "@attributes": {<br /> FLAGS: "",<br /> HOST: "davidwalsh.name",<br /> TITLE: A<br /> },<br /> LINKSIN: {<br /> "@attributes": {<br /> NUM: 1102<br /> }<br /> },<br /> SPEED: {<br /> "@attributes": {<br /> PCT: 51,<br /> TEXT: 1421<br /> }<br /> },<br /> TITLE: {<br /> "@attributes": {<br /> TEXT: "David Walsh Blog :: PHP, MySQL, CSS, Javascript, MooTools, and Everything Else",<br /> }<br /> },<br /> },<br /> {<br /> POPULARITY: {<br /> "@attributes": {<br /> TEXT: 7131,<br /> URL: "davidwalsh.name/"<br /> }<br /> },<br /> RANK: {<br /> "@attributes": {<br /> DELTA: "-1648"<br /> }<br /> },<br /> REACH: {<br /> "@attributes": {<br /> RANK = 5952<br /> }<br /> }<br /> }<br /> ]<br /> }</div></p> <p>关于js操作xml感兴趣的朋友还可参考在线工具:</p> <p>在线XML/JSON互相转换工具<br /> </p> <p>在线XML格式化/压缩工具<br /> </p> <p>希望本文所述对大家的javascript程序设计有所帮助。 </div> </div> <script type="text/javascript" src="/layui/layui.js"></script> <script> layui.use('code', function(){ layui.code({ elem: 'pre', //默认值为.layui-code about:false, title:'JavaScript将XML转成JSON的方法_javascript技巧代码块', encode: true //是否转义html标签。默认不开启 }); }); </script> <footer class="comm-footer"> <ul class="channels"> <li> <a target="_top" href="/system/">操作系统</a> </li><li> <a target="_top" href="/down/">程序下载</a> </li><li> <a target="_top" href="/jquery/">jquery插件库</a> </li><li> <a target="_top" href="/jiaoben/">编程</a> </li><li> <a target="_top" href="/db/">数据库</a> </li><li> <a target="_top" href="/tools/">在线工具</a> </li><li> <a target="_top" href="/framebook/">框架书籍</a> </li><li> <a target="_top" href="/xitongjiaocheng/">系统教程</a> </li><li> <a target="_top" href="/ruanjianxiazai/">软件下载</a> </li> </ul> <ul class="versions"> <li> <a href="https://m.gxlcms.com" class="active">触屏版</a> </li> <li> <a href="https://www.gxlcms.com" target="_top">电脑版</a> </li> </ul> <p><a href="https://beian.miit.gov.cn/" target="_blank" style="color:#ffffff"></a><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?6c9b8cea1903c9f813f150c04aeebc3c"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script></p> </footer> </body> </html>