最近在處理一個前端功能的時候,遇到了一個問題,原本的系統是使用的xml來存儲數據的,而在新的系統上,想要轉換為json對象存儲,於是就考慮到直接將xml物件轉換為json物件。
目前為止,通用的轉換方式我還沒找到,只有根據已知的xml物件結構來使用for迴圈不斷地賦值。
var xml = ······;//获取xml对象 var objList = []; for(var i = 0;i<xml.childNodes.length;i++){ var obj = {}; obj.attribute1 = xml.getAttribute("attribute1");//获取节点属性 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迴圈可以繼續嵌套下去,每一個新的json物件的屬性都可以自定義,但是在getAttribute()方法中一定要填入自己所需要的存在的屬性。
這樣的方法看起來比較蠢,暫時先這樣用吧,等到我想到了更好的方法之後在考慮替換。
以上是詳解JS操作xml物件轉換為Json對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!