Foros del Web » Programando para Internet » Javascript »

Recorrer XML

Estas en el tema de Recorrer XML en el foro de Javascript en Foros del Web. Hola, necesito ayuda para recorrer este xml con js: <response> <info1> <traslado>P1-P2/500-600</traslado> <estado>true</estado> </info1> <items>4</items> </response> Como debo recorrerlo dinamicamente con un for q va ...
  #1 (permalink)  
Antiguo 11/05/2009, 08:11
Avatar de sneyder05  
Fecha de Ingreso: enero-2009
Ubicación: Cali
Mensajes: 172
Antigüedad: 15 años, 3 meses
Puntos: 17
Pregunta Recorrer XML

Hola, necesito ayuda para recorrer este xml con js:

<response>
<info1>
<traslado>P1-P2/500-600</traslado>
<estado>true</estado>
</info1>
<items>4</items>
</response>

Como debo recorrerlo dinamicamente con un for q va hasta el valor de <items>, necesito saber si existe <info?>, si existe este nodo, pasar a obtener los valores q estan dentro.
Salu2
  #2 (permalink)  
Antiguo 11/05/2009, 10:02
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Recorrer XML

entiendo que info# es un elemento unico en el documento. para verificar su existencia podrias hacer
Código javascript:
Ver original
  1. var info = document.getElementsByTagName('info1');
  2. if(info.length){ // si equivale a 0 indica que no encontro dicho elemento
  3.   for(var i = 0; i < info[0].childNodes.length; i++){
  4.   if(info[0].childNodes[i].nodeType != 1)continue; // puede contener nodos tipo texto;
  5.   info[0].childNodes[i].data;   // asi leerias el contenido de cada elemento;
  6.                 // por supuesto, tu tienes que decidir que hacer con esa info;
  7.   }
  8. }
  #3 (permalink)  
Antiguo 12/05/2009, 07:22
Avatar de sneyder05  
Fecha de Ingreso: enero-2009
Ubicación: Cali
Mensajes: 172
Antigüedad: 15 años, 3 meses
Puntos: 17
De acuerdo Respuesta: Recorrer XML

Probe tu script, pero me salio undefined cuando mostre info[0].childNodes[i].data,
me di cuenta q el tipo de nodo es 1 por lo cual no me retorno el valor, como puedo hacer para mostrar el contenido de ese nodo?

Última edición por sneyder05; 12/05/2009 a las 08:43
  #4 (permalink)  
Antiguo 12/05/2009, 10:13
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Recorrer XML

se me quedo un peque~no codigo. no lo habia comprado antes de postearlo :)
Código javascript:
Ver original
  1. var info = document.getElementsByTagName('info1');
  2. if(info.length){ // si equivale a 0 indica que no encontro dicho elemento
  3.   for(var i = 0; i < info[0].childNodes.length; i++){
  4.   if(info[0].childNodes[i].nodeType != 1)continue; // puede contener nodos tipo texto;
  5.   info[0].childNodes[i].firstChild.data;    // asi leerias el contenido de cada elemento;
  6.                 // por supuesto, tu tienes que decidir que hacer con esa info;
  7.   }
  8. }
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 11:09.