Foros del Web » Programando para Internet » Javascript »

como puedo mostrar un mensaje cuando un archivo xml no tiene datos

Estas en el tema de como puedo mostrar un mensaje cuando un archivo xml no tiene datos en el foro de Javascript en Foros del Web. Hola, mi problema es que muestro los datos de un archivo xml, este archivo xml cambia su valor y claro cuando no tiene ningun valor ...
  #1 (permalink)  
Antiguo 24/10/2011, 14:30
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
como puedo mostrar un mensaje cuando un archivo xml no tiene datos

Hola, mi problema es que muestro los datos de un archivo xml, este archivo xml cambia su valor y claro cuando no tiene ningun valor me dice que defina la linea esta:

document.getElementById("registro").innerHTML ='<p>'+ xml.getElementsByTagName('nombre')[contador].firstChild.nodeValue+'</p>';

como podria hacer para mostrar un mensaje cuando el archivo xml no contenga ningun valor las etiquetas nombre?

el codigo js es este:

Código Javascript:
Ver original
  1. function MostrarNombres() {
  2.     try {
  3.         document.getElementById("registro").innerHTML ='<p>'+ xml.getElementsByTagName('nombre')[contador].firstChild.nodeValue+'</p>';
  4.                 contador ++;
  5.         }
  6.         catch(e) {
  7.             contador=0;
  8. document.getElementById("registro").innerHTML ='<p>'+ xml.getElementsByTagName('nombre')[contador].firstChild.nodeValue+'</p>';
  9.                 contador ++;
  10.         }
  11.     }

Se agradece cualquier ayuda, saludos.
  #2 (permalink)  
Antiguo 24/10/2011, 14:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: como puedo mostrar un mensaje cuando un archivo xml no tiene datos

Hola:

Puedes usar la condición reemplazando firstChild por hasChildNodes()... o sea si hasChildNodes() devuelve true (cierto), es porque existe el firstChild y entonces puede leerse...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 24/10/2011, 15:04
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: como puedo mostrar un mensaje cuando un archivo xml no tiene datos

caricatos no lo acabo de entender si me pudieras poner un ejemplo, saludos.
  #4 (permalink)  
Antiguo 24/10/2011, 15:10
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: como puedo mostrar un mensaje cuando un archivo xml no tiene datos

Hola:

Retocando un poco tu código:

Código:
if (xml.getElementsByTagName('nombre')[contador].hasChildNodes())
document.getElementById("registro").innerHTML ='<p>'+ xml.getElementsByTagName('nombre')[contador].firstChild.nodeValue+'</p>';
else
document.getElementById("registro").innerHTML ='<p>nombre inexistente</p>';
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 24/10/2011 a las 21:21 Razón: faltaba ()...
  #5 (permalink)  
Antiguo 24/10/2011, 15:20
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: como puedo mostrar un mensaje cuando un archivo xml no tiene datos

Gracias caricatos, saludos.
  #6 (permalink)  
Antiguo 24/10/2011, 21:22
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: como puedo mostrar un mensaje cuando un archivo xml no tiene datos

Hola:

Acabo de darme cuenta que puse hasChildNodes sin el juego de paréntesis, y lo he editado...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: html, js, mensaje, 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 13:29.