杏耀註冊平台官網_使用JavaScript將XML轉換為JSON

成為具有以下結構的JavaScript對象是可行的:,
,如果您在jsON上關注我,您就會知道我一直在使用Appcelerator Titanium開發超級機密的移動應用程序。體驗非常棒:使用JavaScript創建易於編寫,易於測試的本地移動應用程序很有趣。我的移動應用程序連接到許多社交網絡API,其中一些僅提供XML響應。我的迷你“框架”使用jsON動態創建小部件,因此我需要一種將XML轉換為JSON的方法。我發現了許多解決方案,但沒有一個起作用。調整現有功能后,我發現了一個很好的解決方案。,// 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].push) == “undefined”) {      var old = obj[nodeName];      obj[nodeName] = [];      obj[nodeName].push(old);     }     obj[nodeName].push(xmlToJson(item));    }   }  }  return obj; };,{  “@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     }    }   }  ] },此功能在允許我快速忽略XML並改用JSON時非常有用。當構造嵌套子節點的屬性和數組時,該函數運行良好。保持方便;在某些時候,您可能需要將XML轉換為JSON!,從這裏可以使用JavaScript對象,但您認為合適。如果您想使用JSON字符串格式的JavaScript,可以編寫以下代碼:,<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>,JavaScript,重要的是要指出Titanium的Titanium.XML.DOMDocument對象實現DOM2級結構。這是神奇的XML到JSON代碼:,我需要實現的主要更改是使用attributes.item(j)而不是使用attributes[j]我發現的大多數腳本。使用此功能,XML如下所示:,成為具有以下結構的JavaScript對象是可行的: