Comunidad de diseño web y desarrollo en internet online

Problema con XML y AS2

Citar            
MensajeEscrito el 23 Abr 2009 11:14 pm
Hola a todo un saludo , y espero me ayuden.

estoy haciendo una carga de XML hacia Flash, esta cargara datos y imagenes, al principio carga los primeros datos del childNodes "MENSAJE", que corresponderia donde se encuentra "imagen1.png", alli todo bien, el problema es cuando le doy a "boton de adelante" esta llama a otro nodo que es donde esta "imagen3.png" y no al que pertenece al mismo que deberia de ser "imagen2.png" para mejor entendimiento aqui esta los codigos, y espero me ayuden.

Es necesario que la sintaxis y la forma del XML sea de esa manera que la puse, por que todo el xml se mostrara en un mismo flash, pero en direfrentes partes.

Código :

<?xml version="1.0" encoding="ISO-8859-1"?>

<eventos>
   <contenido> 
      <mensaje>   
          <titulo>Aviso de suspension </titulo>
            <email>[email protected]</email> 
            <descrip>Su servicio sera suspendido</descrip>  
           <image>images/1.png</image>
      </mensaje>
      <mensaje> 
           <titulo>Alerta Precaucion </titulo>    
         <email>[email protected]</email>  
           <descrip>debe de estar alerta</descrip> 
            <image>images/2.png</image>
      </mensaje> 
   </contenido>

   <contenido>
      <mensaje>  
         <titulo>Dar de alta </titulo>
             <email>[email protected]</email>
             <descrip>esta para su atencion</descrip>
            <image>images/3.png</image>
      </mensaje>
      <mensaje>
         <titulo>Poner en baja</titulo>
             <email>[email protected]</email>
            <descrip>no  es recomendable</descrip>
            <image>images/4.png</image>
      </mensaje> 
   </contenido>
</eventos>



y esto es de el flash

Código :

xmlData = new XML(); //Nuevo objeto XML
xmlData.ignoreWhite = true; 
xmlData.onLoad = loadXML; 
xmlData.load("script.xml"); 
function loadXML(loaded) 
{
   if (loaded) 
   {
      //archivo xml cargado
      xmlNode = this.firstChild;
      image = [];
      tit = [];
      descrip = [];
      email = [];
      total = xmlNode.childNodes.length;
      for (i=0; i<total; i++) 
      {
         tit[i]     = xmlNode.childNodes[i].childNodes[0].childNodes[0].childNodes[0];
         descrip[i] = xmlNode.childNodes[i].childNodes[0].childNodes[2].childNodes[0];
         email[i]   = xmlNode.childNodes[i].childNodes[0].childNodes[1].childNodes[0];
         image[i]   = xmlNode.childNodes[i].childNodes[0].childNodes[3].childNodes[0];
      }
      firstImage();
   } 
   else
   {
      content = "Fichero XML no cargado!";
   }
}
p = 0;
this.onEnterFrame = function() 
{
   filesize = picture.getBytesTotal();
   loaded = picture.getBytesLoaded();
   preloader._visible = true;
   if (loaded != filesize) 
   {
      preloader.preload_bar._xscale = 100*loaded/filesize;
   }
   else
   {
      preloader._visible = false;
      if (picture._alpha<100) 
      {
         picture._alpha += 10;
      }
   }
};

function firstImage() 
{
   if (loaded == filesize) 
   {
      picture._alpha = 0;
      picture.loadMovie(image[0], 1);
      titulo_txt.text = tit[0];
      descrip_txt.text = descrip[0]
      email_txt.text = email[0];

      picture_num();
   }
}

Key.addListener(listen);
atras.onRelease = function()
{
   prevImage();
};
adelante.onRelease = function() 
{
   nextImage();
};

function nextImage() 
{
   if (p<(total-1)) 
   {
      p++;
      if (loaded == filesize) 
      {
         picture._alpha = 0;
         picture.loadMovie(image[p], 1);
         titulo_txt.text = tit[p];
         descrip_txt.text = descrip[p];
         email_txt.text = email[p];
         picture_num();
      }
   }
}

function prevImage() 
{
   if (p>0) 
   {
      p--;
      picture._alpha = 0;
      picture.loadMovie(image[p], 1);
      titulo_txt.text = tit[p];
      descrip_txt.text = descrip[p]
      email_txt.text = email[p];

      picture_num();
   }
}

function picture_num()
{
   current_pos = p+1;
   numero_txt.text = current_pos+" / "+total;
}


Espero me ayuden.

Por miguel_fox

31 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Abr 2009 09:13 am
Hola, bueno, creo que va a tener que ser a pasos porque si esta medio complicado loq ue tienes hasta ahora.

Primer paso, debemos obtener la informacion del XML y colocarla en Array y objetos:

Código ActionScript :

var contenido:Array = new Array();
var xmlData:XML = new XML(); //siempre usar "var" y ":Tipo"
xmlData.ignoreWhite = true; 
xmlData.onLoad = loadXML; 
xmlData.load("script.xml");
function loadXML( ok:Boolean ) 
{
   if ( ok ) 
   {
      contenido = parsearXML( this.firstChild );
      init();
   } 
   else
   {
      content = "Fichero XML no cargado!";
   }
};

function parseaXML( aux:XMLNode ):Array
{
      var arr:Array = new Array();
      var li:Number = aux.childNodes.length;
      for ( var i:Number = 0; i < li; i++) 
      {
            var lj:Number = aux.childNodes[i].childNodes.length;
            var mensaje:Array = new Array();
            for( var j:Number = 0; j < lj; lj++  )
            {
                  var obj:Object = new Object();
                  obj.titulo = aux.childNodes[i].childNodes[j].childNodes[0].nodeValue;
                  obj.email = aux.childNodes[i].childNodes[j].childNodes[1].nodeValue;
                  obj.descrip = aux.childNodes[i].childNodes[j].childNodes[2].nodeValue;
                  obj.image = aux.childNodes[i].childNodes[j].childNodes[3].nodeValue;
                  mensaje[j] = obj;
            }
            arr[i] = mensaje;
      }
      return arr;
}

function init( Void ):Void
{
   trace("Acciones despues de contar con la informacion");
   trace( contenido[0][0].titulo );
}




U_U nos falta mucho, pero dime si eso te funciona bien, has preubas con los valores de contenido, ahora que tienes un array estructurado con la informacion sera mas facil acceder a esta.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.