2012-09-22 117 views
0

我讀的一臺服務器上託管的XML數據,然後在HTML文檔中顯示它,因爲它,我做到以下幾點:讀取XML文檔

var a1 = xml.getElementsByTagName('a1')[0].childNodes[0]; 
var A1 = document.getElementById("A1"); 
A1.innerHTML = a1.nodeValue; 

其中,A1是的標識XML存儲在服務器上。這個過程我有它做了很多次,那裏是唯一改變的是現場的ID,即我有這樣的:

var a1 = xml.getElementsByTagName('a1')[0].childNodes[0]; 
var a2 = xml.getElementsByTagName('a2')[0].childNodes[0]; 
var a3 = xml.getElementsByTagName('a3')[0].childNodes[0]; 
var a4 = xml.getElementsByTagName('a4')[0].childNodes[0]; 
var a5 = xml.getElementsByTagName('a5')[0].childNodes[0]; 

var A1 = document.getElementById("A1"); 
var A2 = document.getElementById("A2"); 
var A3 = document.getElementById("A3"); 
var A4 = document.getElementById("A4"); 
var A5 = document.getElementById("A5"); 

A1.innerHTML = a1.nodeValue; 
A2.innerHTML = a2.nodeValue; 
A3.innerHTML = a3.nodeValue; 
A4.innerHTML = a4.nodeValue; 
A5.innerHTML = a5.nodeValue; 

一切正常,並帶來預期的數據,但我的問題是這一點,沒有辦法根據需要優化代碼,不使用盡可能多的行,即使用類似

for (i=1;i<=5;i++){ 
    var a[i] = xml.getElementsByTagName('a[i]')[0].childNodes[0]; 
} 

我不知道,是一件發生在我,我是新來的這一點,並已產生懷疑,我感謝任何信息,問候!

回答

1

a[i]從哪裏來?所有你需要的是字符串連接:

for(var i = 0; i <= 5; i++) { 
    document.getElementById('a' + i).innerHTML = xml.getElementsByTagName('a' + i)[0].firstChild.nodeValue; 
}