Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Error con etiqueta o nodo vacio xml

Estas en el tema de Error con etiqueta o nodo vacio xml en el foro de Javascript en Foros del Web. Hola que tal tengo un xml como el siguiente @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código XML: Ver original <documento > <Id > 1 </Id > <Folio > 1 ...
  #1 (permalink)  
Antiguo 29/05/2013, 11:22
 
Fecha de Ingreso: septiembre-2008
Mensajes: 74
Antigüedad: 15 años, 8 meses
Puntos: 1
Error con etiqueta o nodo vacio xml

Hola que tal

tengo un xml como el siguiente


Código XML:
Ver original
  1. <documento>
  2. <Id>1</Id>
  3. <Folio>1</Folio>
  4. <Ruta/>
  5. </documento>

con el que quiero ver el contenido del mismo con

Código Javascript:
Ver original
  1. documento[i].getElementsByTagName("Id")[0].childNodes[0].nodeValue
  2. documento[i].getElementsByTagName("Folio")[0].childNodes[0].nodeValue
  3.  
  4. documento[i].getElementsByTagName("Ruta")[0].childNodes[0].nodeValue

bien, con los dos primeros no hay problema, pero con Ruta me lanza un error:
"Cannot read property 'nodeValue' of undefined"

y la causa es porque la etiqueta, es decir en lugar de que se cierre de esta forma "<Ruta></Ruta>" que si esta asi no hay problema, pues esta de esta forma "<Ruta/>" con lo cual me arroja el error.

lo que quiero es leer el valor y poder cambiarselo.

conocen un metodo para poder hacerlo?
seria de mucha ayuda.
gracias!!!
  #2 (permalink)  
Antiguo 29/05/2013, 11:38
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: Error con etiqueta o nodo vacio xml

Hola:

Cita:
Iniciado por efenix Ver Mensaje
...
y la causa es porque la etiqueta, es decir en lugar de que se cierre de esta forma "<Ruta></Ruta>" que si esta asi no hay problema, pues esta de esta forma "<Ruta/>" con lo cual me arroja el error.
...
Me extraña mucho lo que dices, ya que de ninguna de las maneras que planteas debería funcionar... childNodes[0] no debe existir de ninguna de las maneras, pero sea el problema que sea, puedes usar el método hasChildNodes() para constatar de que existe algún nodo hijo.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 29/05/2013, 16:01
 
Fecha de Ingreso: septiembre-2008
Mensajes: 74
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Error con etiqueta o nodo vacio xml

hola caricatos salu2

solucione mi problema con la siguiente instruccion



Código Javascript:
Ver original
  1. documento[j].childNodes.item(2).textContent // devuelve el valor del nodo y asi le asigno el valor que yo quiera o compruebo que tenga un valor
  2.  
  3. documento[j].childNodes.item(2).nodeName// devuelve el nombre del nodo

llegue a todo esto gracias a la instruccion que mencionas hasChildNodes() y que ya habia utilizado antes pero no me acordaba, jajaja


pongo mi instruccion completa por si es de ayuda a alguien

Código Javascript:
Ver original
  1. documento= xmlDocumento.getElementsByTagName("documento");
  2.  var DocId = "10";
  3.  
  4.         for (var j = 0; j < documento.length; j++) {
  5.             if (documento[j].hasChildNodes()) {
  6.                 if (documento[j].childNodes.item(1).textContent == DocId) {
  7.                     documento[j].childNodes.item(25).textContent = "Cancelado";
  8.                     break;
  9.                 }
  10.             }
  11.         }
  12. // el numero 1 y 25 son las posiciones del id y estado que en mi caso siempre estan en estos lugares


saludos, gracias

Etiquetas: 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:01.