Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Llamada XML con AJAX

Estas en el tema de Llamada XML con AJAX en el foro de Frameworks JS en Foros del Web. Hola muy buenas , Mil gracias de antemano... VEreis tengo una duda que a lo mejor es muy trivial pero que me gustaría que me ...
  #1 (permalink)  
Antiguo 10/11/2010, 05:16
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 9 meses
Puntos: 0
Pregunta Llamada XML con AJAX

Hola muy buenas ,
Mil gracias de antemano...
VEreis tengo una duda que a lo mejor es muy trivial pero que me gustaría que me recomendáseis que puedo hacer:

Hago una llamada AJAX de un archivo XML , el cúal se me carga perfectamente en un objeto colección. Y lo voy recorriendo:

for(a=0;a<xml.getElementsByTagName('codorigen').le ngth;a++)
{
alert("a-->"+a+"--->"+xml.getElementsByTagName('codorigen')[a].firstChild.data);
alert("a-->"+a+"--->"+xml.getElementsByTagName('nombre').item(a).chil dNodes[0].nodeValue);
}



El problema es cuando el XML en cuestión viene con etiquetas vacías:

<origen codigo="100">
<codorigen>100</codorigen>
<nombre>WEB</nombre>
</origen>
<origen codigo="101">
<codorigen></codorigen>
<nombre>LOCAL</nombre>
</origen>
<origen codigo="102">
<codorigen>102</codorigen>
<nombre>EXTERNO</nombre>
</origen>

Puesto que me dice que el nodo no está definido...

He probado a meter un espacio en blanco en la estiqueta en cuestión y así me recorre todo perfectamente,pero me parece cierta chupucilla ...

Alguna recomendación?

Mil gracias de antemano
  #2 (permalink)  
Antiguo 10/11/2010, 08:46
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 6 meses
Puntos: 43
Respuesta: Llamada XML con AJAX

Tal vez te ayude esto: http://www.webdeveloper.com/forum/ar...p/t-95425.html
  #3 (permalink)  
Antiguo 10/11/2010, 10:50
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Llamada XML con AJAX

Efectivamente así funciona:
Os lo pongo:
for (var i=0; i < myNodeList.length; i++) {
option = document.createElement("option");
if(myNodeList[i] && myNodeList[i].firstChild) {
option.appendChild(document.createTextNode(myNodeL ist[i].firstChild.nodeValue));
} else {
option.appendChild(document.createTextNode('&nbsp; '));
}
versionList.appendChild(option);
}
Verifica si existe en el if...

Un saludo y muchísimas gracas...

Etiquetas: ajax, llamada, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:24.