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, tengo este xml Código PHP: < reponse >      < orden0 >           < statu > Ok1 </ statu >           < ebelp > 00000 </ ebelp ...
  #1 (permalink)  
Antiguo 25/06/2009, 07:53
Avatar de sneyder05  
Fecha de Ingreso: enero-2009
Ubicación: Cali
Mensajes: 172
Antigüedad: 15 años, 3 meses
Puntos: 17
Exclamación recorrer xml

Hola, tengo este xml
Código PHP:
<reponse>
     <
orden0>
          <
statu>Ok1</statu>
          <
ebelp>00000</ebelp>
          <
vbeln>0000051433</vbeln>
          <
posnr>000040</posnr>
     </
orden0>
</
reponse
y lo recorro asi:
Código PHP:
response=xml.getElementsByTagName('response');       
        if(
response.length){
            for(
i=0;i<response[0].childNodes.length;i++){
                
orden=xml.getElementsByTagName('orden'+i);
                if(
orden.length){
                    
vlr_vbeln=orden[0].childNodes[2].firstChild.data;
                    
array_vbeln[i]=vlr_vbeln;
                    
alert('Guarde en pos '+i+':'+vlr_vbeln);
                }
            }
        } 
pero arroja Guarde en pos 0: null.

Tengo mal el codigo, me falta algo??

Salu2
  #2 (permalink)  
Antiguo 25/06/2009, 12:08
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

el error es que estas haciendo referencia a un nodo que no contiene la informacion requerida. es decir, childNodes[2] hace referencia a un TextNode en lugar de un del elemento vbeln. la posicion de este elemento es la quinta. a continuacion el codigo que utilice para recorrer el documento XML:
Código:
var xml = new XMLHttpRequest();
xml.open("get", "order.xml", false);
xml.send(null);
// el codigo anterior puede variar segun como tu obtengas el documento XML;

response=xml.responseXML.documentElement;
var array_vbeln = [];
	for(var i = 0;i < response.childNodes.length; i++){
	var orden = response.getElementsByTagName('orden'+i);
		if(orden.length){
		vlr_vbeln=orden[0].childNodes[5].firstChild.data;
		array_vbeln[i]=vlr_vbeln;
		alert('Guarde en pos '+i+':'+vlr_vbeln);
		}
	}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 25/06/2009, 15:25
Avatar de sneyder05  
Fecha de Ingreso: enero-2009
Ubicación: Cali
Mensajes: 172
Antigüedad: 15 años, 3 meses
Puntos: 17
Respuesta: recorrer xml

Gracias, ahora ya corre!
Salu2
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 19:00.