最近在處理一個(gè)前端功能的時(shí)候,遇到了一個(gè)問題,原本的系統(tǒng)是使用的xml來存儲(chǔ)數(shù)據(jù)的,而在新的系統(tǒng)上,想要轉(zhuǎn)換為json對(duì)象存儲(chǔ),于是就考慮到直接將xml對(duì)象轉(zhuǎn)換為json對(duì)象。
目前為止,通用的轉(zhuǎn)換方式我還沒有找到,只有根據(jù)已知的xml對(duì)象結(jié)構(gòu)來使用for循環(huán)不斷地賦值。
var xml = ??????;//獲取xml對(duì)象var objList = [];for(var i = 0;i<xml.childNodes.length;i++){ var obj = {}; obj.attribute1 = xml.getAttribute("attribute1");//獲取節(jié)點(diǎn)屬性 obj.attribute2 = xml.getAttribute("attribute2"); obj.children = []; for(var x=0;x<xml.childNodes[i].childNodes.length;x++){ var element = xml.childNodes[i].childNodes[x]; var child = {}; child.attribute1 = element.getAttribute("attribute1"); child.attribute2 = element.getAttribute("attribute2"); obj.children.push(child); } objList.push(obj); }
for循環(huán)可以繼續(xù)嵌套下去,每一個(gè)新的json對(duì)象的屬性都可以自定義,但是在getAttribute()方法中一定要填寫自己所需要的存在的屬性。
這樣的方法看起來比較蠢,暫時(shí)先這樣用吧,等到我想到了更好的方法之后在考慮替換。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注