Duda con Javascript y documento XML
Publicado por undertech (1 intervención) el 22/09/2012 01:22:31
Saludos, estoy trayendo datos de un XML que está alojado en un servidor, para despues mostrar esto en un documento HTML, para ello hago lo siguiente:
donde a1 es el id del XML alojado en el servidor, resulta que esto lo tengo que hacer muchas veces, donde lo único que cambia es el id del campo, es decir, lo tengo así:
Todo funciona correctamente y trae los datos como se espera, pero mi duda es la siguiente, no hay forma de optimizar ese código para que no sea necesario usar tantas lineas, es decir, usar algo como
No sé, es algo que se me ocurre, soy nuevo en esto y se me ha generado esa duda, agradezco cualquier info, saludos!
1
2
3
var a1 = xml.getElementsByTagName('a1')[0].childNodes[0];
var A1 = document.getElementById("A1");
A1.innerHTML = a1.nodeValue;
donde a1 es el id del XML alojado en el servidor, resulta que esto lo tengo que hacer muchas veces, donde lo único que cambia es el id del campo, es decir, lo tengo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
Todo funciona correctamente y trae los datos como se espera, pero mi duda es la siguiente, no hay forma de optimizar ese código para que no sea necesario usar tantas lineas, es decir, usar algo como
1
2
3
4
for (i=1;i<=5;i++)
{
var a[i] = xml.getElementsByTagName('a[i]')[0].childNodes[0];
}
No sé, es algo que se me ocurre, soy nuevo en esto y se me ha generado esa duda, agradezco cualquier info, saludos!
Valora esta pregunta


0