首頁  >  文章  >  web前端  >  JavaScript將XML轉換成JSON的方法_javascript技巧

JavaScript將XML轉換成JSON的方法_javascript技巧

WBOY
WBOY原創
2016-05-16 16:09:541477瀏覽

本文實例講述了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                 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             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代碼:
複製程式碼 程式碼如下:

   
       
       
       
   

   
       
       
       
   


3. JSON結果:
複製程式碼 程式碼如下:
{
  “@attributes”:{
    援助:“=”,
    首頁:0,
    URL: "davidwalsh.name/",
    版本:“0.9”,
  },
  SD = [
    {
      “@attributes”:{
        標誌:”,
        主持人:「davidwalsh.name”,
        標題:A
      },
      連結:{
        「@attributes」:{
          編號:1102
        }
      },
      速度:{
        「@attributes」:{
          PCT:51,
          文字:1421
        }
      },
      標題:{
        「@attributes」:{
          文字:“David Walsh 部落格 :: PHP、MySQL、CSS、Javascript、MooTools 以及其他所有內容”,
        }
      },
    },
    {
      受歡迎程度:{
        「@attributes」:{
          文字:7131,
          URL:「davidwalsh.name/」
        }
      },
      排名:{
        「@attributes」:{
          達美航空:「-1648」
        }
      },
      到達:{
        「@attributes」:{
          排名 = 5952
        }
      }
    }
  ]
}

關於js操作xml有興趣的朋友參考線上工具:

線上XML/JSON相互轉換工具

線上XML整理/壓縮工具

希望本文對大家介紹的javascript程式設計有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn