我有一個很大的XML文檔,我試圖在JavaScript中處理成一個數組。在for循環中創建關聯數組
<DR> <C> <SWDGDRC> <CID>0</CID> <V>06/01/2012 00:00:00</V> </SWDGDRC> <SWDGDRC> <CID>1</CID> <V>1131</V> </SWDGDRC> <SWDGDRC> <CID>2</CID> <V>28800</V> </SWDGDRC> </C> <rowid>0</rowid> </DR> <DR> <C> <SWDGDRC> <CID>0</CID> <V>06/02/2012 00:00:00</V> </SWDGDRC> <SWDGDRC> <CID>1</CID> <V /> </SWDGDRC> <SWDGDRC> <CID>2</CID> <V /> </SWDGDRC> </C> <rowid>1000</rowid>
它由多個DR(數據行),並且每個DR的具有多個C(列)和一個rowid。 我試圖循環所有的數據到一個關聯數組:
for(var i=0; i < DR.length; i++) { // loop DR
for(var j=0; j < DR[i].getElementsByTagName('C').length; j++) { // loop C
for(var k=0; k < DR[i].getElementsByTagName('C')[j].getElementsByTagName('SWDGDRC').length; k++) { //loop SWDGDRC
columnData[i] = {
"rowid": DR[i].getElementsByTagName('rowid')[0].textContent,
"column": {
columnID: DR[i].getElementsByTagName('C')[j].getElementsByTagName('SWDGDRC')[k].getElementsByTagName('CID')[0].textContent,
value:DR[i].getElementsByTagName('C')[j].getElementsByTagName('SWDGDRC')[k].getElementsByTagName('V')[0].textContent
}
};
}
}
}
的問題是我想要的「列」鍵,其循環所有的C(列)一個新的數組數據,以便我能使用像這樣的東西訪問這些數據:columnData [0] ['column'] [0] ['columnID']
您是否已經想過遞歸函數了? –
您可以更改源代碼的結構還是已修復? – HMarioD
@HMarioD源碼不能更改,數據是從外部webservice中拉出的 – Stvenoo