Foros del Web » Creando para Internet » Flash y Actionscript »

Lectura desde Flash de datos XML no funciona bien.

Estas en el tema de Lectura desde Flash de datos XML no funciona bien. en el foro de Flash y Actionscript en Foros del Web. Hola, estoy intentando hacer que mi película Flash cargue dentro de un objeto XML los datos provenientes de un archivo PHP. Este archivo obtiene ciertos ...
  #1 (permalink)  
Antiguo 24/09/2007, 03:16
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 10 meses
Puntos: 3
Lectura desde Flash de datos XML no funciona bien.

Hola, estoy intentando hacer que mi película Flash cargue dentro de un objeto XML los datos provenientes de un archivo PHP. Este archivo obtiene ciertos datos desde una base de datos y se los presenta a Flash en formato xml, con lo cual flash puede leerlos y almacenarlos en el objeto XML.

El problema es que este proceso no me funciona si lo hago "al vuelo", no se si me explico: que automáticamente Flash recoja lo que PHP deja en el echo. Sin embargo, si lo hago por partes usando un archivo XML intermedio, es decir, que primero PHP almacene dichos datos xml en el archivo xml, y luego Flash recoja los datos accediendo a ese fichero xml, si que funciona bien.

Yo he visto casos, y de hecho los he probado en mi ordenador, en los que no hace falta usar un archivo xml auxiliar, sino que Flash recoje el xml generado por PHP directamente. ¿Por qué no me funciona así y en cambio sí lo hace usando el archivo auxiliar?
  #2 (permalink)  
Antiguo 24/09/2007, 14:45
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 10 meses
Puntos: 3
Exclamación Re: Lectura desde Flash de datos XML no funciona bien.

Por favor, alguna ayuda. La necesito. Estos son los trozos de código afectados:

Actionscript:
Código PHP:
noticias = new XML();
noticias.ignoreWhite true;

noticias.onLoad = function(exito) {
   if (
exito) {
      
// de momento solo le hago un trace y lo muestro en un campo de texto para comprobación
      
trace("NOTICIAS: " noticias); // devuelve solo "NOTICIAS:" en output
      
myText.text "NEWS: " noticias.firstChild// escribe lo sgte en el campo de texto: "NEWS: null"
   
} else trace("No se pudo cargar XML de noticias");
};

// Al cargar noticias.php y esperar que este devuelva los datos xml, hay éxito en la lectura, 
// pero no parece devolver nada. Si en vez de noticias.php cargo los datos previamente 
// almacenados en el archivo intermedio text.xml (ver código php), sí que lo lee bien:
noticias.load("noticias.php"); 
PHP:
Código PHP:
$bd = conectar();
$consulta = "SELECT * FROM noticias";
$res = consulta($bd, $consulta);

if ($res->num_rows > 0) {
   $salida = "<?xml version="1.0\" encoding=\"utf-8\"?>\n\n<noticias>\n";
   while (list(
$id$titulo$contenido$fecha$imagen) = $res->fetch_array()) {
      
$salida .= "\t<noticia id=\"$id\" titulo=\"".$titulo."\" contenido=\"".$contenido."\" fecha=\"$fecha\" imagen=\"$imagen\" />\n";
   }
   
$salida .= "</noticias>\n";
   
$file fopen("test.xml""w"); // archivo xml auxiliar intermedio, si hago uso de el, funciona, si no, no va
   
fwrite($file"$salida");
} else 
$salida "<noticias />";

echo 
$salida;
$res->close();
$bd->close();
  #3 (permalink)  
Antiguo 24/09/2007, 14:58
Avatar de sheshu  
Fecha de Ingreso: abril-2006
Ubicación: En too el medio
Mensajes: 160
Antigüedad: 18 años
Puntos: 0
Re: Lectura desde Flash de datos XML no funciona bien.

hola,
para acceder a los datos de las noticias tienes que hacer algo así:
Código:
noticias.onLoad = function(exito) {
   if (exito) {
      // de momento solo le hago un trace 
      var array_temp=this.firstChild.childNodes;
      for(var k=0;k<array_temp.length;k++){
        trace("inicio noticia");
        trace("id: " + array_temp[k].attributes.id);
        trace("titulo: " + array_temp[k].attributes.titulo);
        trace("contenido: " + array_temp[k].attributes.contenido);
        trace("fin noticia");
      }
   } else trace("No se pudo cargar XML de noticias");
};
o puede ser algún tema del header del php
espero que te ayude, un saludo,

sheshu
__________________
sheshu ::: www.tutoriales-flash.com
  #4 (permalink)  
Antiguo 24/09/2007, 15:57
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 10 meses
Puntos: 3
Re: Lectura desde Flash de datos XML no funciona bien.

Gracias sheshu, pero no era eso. Ya está claro. Cuando lo pienso es una tontería, pero una tontería que me ha tenido 2 días!

Tenía que usar el protocolo http al cargar en el objeto XML de Flash el archivo noticias.php, para que se forzara a ser interpretado por el intérprete de PHP:

noticias.load("http://localhost/..../noticias.php")

el acceso a los datos no era el problema, cuando los datos ni siquiera eran cargados correctamente.
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 20:10.