Foros del Web » Programando para Internet » Javascript »

Cargar XML a variable JS para parsearla...

Estas en el tema de Cargar XML a variable JS para parsearla... en el foro de Javascript en Foros del Web. Sería lo mismo que el ajax.responseXML pero lo necesito hacer manualmente...Sin ajax... Intenté con var arb = '<?xml version="1.0" encoding="iso-8859-1"?><caca><teta>teta</teta><cola>cola</cola></caca>'; alert(arb.getElementsByTagName("teta").length); Pero nada de nada, ...
  #1 (permalink)  
Antiguo 22/08/2006, 13:32
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Cargar XML a variable JS para parsearla...

Sería lo mismo que el ajax.responseXML pero lo necesito hacer manualmente...Sin ajax...

Intenté con

var arb = '<?xml version="1.0" encoding="iso-8859-1"?><caca><teta>teta</teta><cola>cola</cola></caca>';
alert(arb.getElementsByTagName("teta").length);

Pero nada de nada, ya no se que hacer, o solamente se puede llevar a cabo con ajax ?

Saludos
__________________
Esteban Quintana
  #2 (permalink)  
Antiguo 22/08/2006, 15:45
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
No sé si esto es lo que necesitás:
Código:
<script>
var arb = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><caca><teta>teta</teta><cola>cola</cola></caca>";
uno=arb.split('<teta>');
dos=new Array();
for(i=1;i<uno.length;i++){
tres=uno[i].split('</teta>');
dos.push(tres[0]);
}
alert(dos);
//o alert(dos.length);
</script>

Última edición por Panino5001; 22/08/2006 a las 16:18
  #3 (permalink)  
Antiguo 22/08/2006, 18:11
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
No, la idea es después poder parsearlo con arb.getElementByTagname('teta')....

Me olvidé de poner ese detalle...No me gustaría tener que usar split porque es muy manual, aunque si no me queda otra...GRACIAS POR EL EJEMPLO...

Alguien sabe de otra forma para pode usar el getElementByTagname ???

Saludos
__________________
Esteban Quintana
  #4 (permalink)  
Antiguo 22/08/2006, 18:53
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Bueno, fijate esto:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script>
function llenar(){
var arb = '<?xml version="1.0" encoding="iso-8859-1"?><caca><teta>teta</teta><cola>cola</cola></caca>';
window.frames.no.document.clear();
window.frames.no.document.open();
window.frames.no.document.writeln(arb);
window.frames.no.document.close();
pepe=document.getElementById('no').contentWindow.document.getElementsByTagName('teta').length;
alert(pepe);
}
</script>

</head>

<body onload="llenar()">
<iframe name="no" id="no"></iframe>
</body>
</html>
  #5 (permalink)  
Antiguo 22/08/2006, 20:29
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Pinino5001 voy a evaluar tu respuesta:

1) Claridad en el código: 10.0
2) Rapidez para responder: 10.0
3) Calidad del código: 10.0 (Lo probé en el IE y Firefox y funcionó perfecto)

MIL GRACIAS CHAVAL !!!
__________________
Esteban Quintana
  #6 (permalink)  
Antiguo 24/08/2006, 07:56
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script>
function llenar(){
var arb = '<?xml version="1.0" encoding="iso-8859-1"?><caca att="hola"><teta>teta</teta><teta>cola</teta></caca>';
window.frames.no.document.clear();
window.frames.no.document.open();
window.frames.no.document.writeln(arb);
window.frames.no.document.close();
pepe=document.getElementById('no').contentWindow.document.getElementsByTagName('caca').length;
pepo=document.getElementById('no').contentWindow.document.getElementsByTagName('caca')[0].getAttribute('att');
//pupo=document.getElementById('no').contentWindow.document.getElementsByTagName('caca')[0].firstChild.data;
alert(pepe);
alert(pepo);
//alert(pupo);
}
</script>

</head>

<body onload="llenar()">
<iframe name="no" id="no"></iframe>
</body>
</html>
Porque no me anda el firstClild ? es el que está comentado // porque si lo ejecuto directamente no me funciona, ya intenté de todas maneras y nada, no puedo tomar el contenido que tenga la etiqueta...

Que está mal ???
__________________
Esteban Quintana
  #7 (permalink)  
Antiguo 24/08/2006, 11:22
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Pude solucionar el problema gracias al código de este otro post:

http://www.forosdelweb.com/showthrea...t=parsear+HTML

Saludos y gracias !!!
__________________
Esteban Quintana
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 10:09.