Foros del Web » Programando para Internet » Javascript »

javascript y xml

Estas en el tema de javascript y xml en el foro de Javascript en Foros del Web. Buenas a todos, soy nuevo en el foro. Estoy creando una página con XML y salida XSL. Mi problema es el siguiente...: hago un calendario, ...
  #1 (permalink)  
Antiguo 26/05/2011, 04:50
 
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 12 años, 11 meses
Puntos: 0
javascript y xml

Buenas a todos, soy nuevo en el foro. Estoy creando una página con XML y salida XSL. Mi problema es el siguiente...: hago un calendario, javascript y dinámicamente, con funciones tipo fecha pero lo dibujo en una tabla y le asigno a cada celda un disparador para que cuando se pinche un día se pinte en un div una información que se signa en el xml a cada día, "el menú diario".

<pie>
<dia> 1 </dia>
<comida>Lentejas, si las quieres las tomas y si no las dejas</comida>
<merienda>Lentejas frías</merienda>

<dia> 2 </dia>
<comida>Lenteja de ayer recalentadas</comida>
<merienda>Lentejas de ayer frías</merienda>

<dia> 3 </dia>
<comida>jejeje, Lentejas de anteayer chamustadas.</comida>
<merienda>joeeeeer, lentejas de anteayer frías</merienda>
</pie>



Mi pregunta es cómo puedo acceder a la información del menú. He intentado varias cosas y aunque no me da error me pinta: "undefined".

Gracias de antemano. Un saludo.

Código:
var pie=xmlDoc.getElementsByTagName("pie");

for (var i = 0; i < pie.length; i++) {

var menu_dia = parseFloat(pie[i].getElementsByTagName("dia")[valor].firstChild.data);
var menu_comida = parseFloat(pie[i].getElementsByTagName("comida")[valor].firstChild.data);
var menu_merienda = parseFloat(pie[i].getElementsByTagName("merienda")[valor].firstChild.data);

}
div.innerHTML = "dia: " + menu_dia + 'comida: ' + menu_comida + ' merienda: '+ menu_merienda;
  #2 (permalink)  
Antiguo 26/05/2011, 07:50
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
Respuesta: javascript y xml

Probá así:
menu.xml:
Código PHP:
<?xml version="1.0" encoding="utf-8"?>
<pie>
<dia> 1 </dia>
<comida>Lentejas, si las quieres las tomas y si no las dejas</comida>
<merienda>Lentejas frías</merienda>

<dia> 2 </dia>
<comida>Lenteja de ayer recalentadas</comida>
<merienda>Lentejas de ayer frías</merienda>

<dia> 3 </dia>
<comida>jejeje, Lentejas de anteayer chamustadas.</comida>
<merienda>joeeeeer, lentejas de anteayer frías</merienda>
</pie>
menu.html:
Código PHP:
<!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=utf-8" />
<
title>Documento sin título</title>
<
script type="text/javascript">
function 
http(){
    if(
typeof window.XMLHttpRequest!='undefined'){
        return new 
XMLHttpRequest();    
    }else{
        try{
            return new 
ActiveXObject('Microsoft.XMLHTTP');
        }catch(
e){
            
alert('Su navegador no soporta AJAX');
            return 
false;
        }    
    }    
}
function 
request(url,callback,params){
    var 
H=new http();
    if(!
H)return;
    var 
p='';
    for(var 
i in params){
        
p+='&'+i+'='+encodeURIComponent(params[i]);    
    }
    
H.open('get',url+'?'+p+'&'+Math.random(),true);
    
H.onreadystatechange=function(){
        if(
H.readyState==4){
            
callback(H.responseXML);
            
H.onreadystatechange=function(){}
            
H.abort();
            
H=null;
        }
    }
    
H.send(null);
}
function 
setData(d){
    var 
dia=d.getElementsByTagName("dia"); 
    for (var 
0,l=dia.lengthli++) {
        var 
menu_dia dia[i].firstChild.data;    
        var 
menu_comida d.getElementsByTagName("comida")[i].firstChild.data;    
        var 
menu_merienda d.getElementsByTagName("merienda")[i].firstChild.data;
        
document.getElementById('datos').innerHTML += "dia: " menu_dia 'comida: ' menu_comida ' merienda: 'menu_merienda+'<br />';
    }
}
onload=function(){
    
request('menu.xml',setData,{});
}
</script>

</head>

<body>
<div id="datos"></div>
</body>
</html> 

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