Comunidad de diseño web y desarrollo en internet online

Pregunta sobre el tutorial de cargar XML en Flash MX 2004

Citar            
MensajeEscrito el 12 Sep 2005 03:47 pm
Hola, me gustaría saber si ese tutorial también se puede aplicar cuando las cajas de texto que tenemos en el fla son cajas dinámicas del tipo htmlText, es decir, sin utilizar el componene textInput ????

Muchas gracias,

Xiki

Por Xiki

23 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 12 Sep 2005 03:56 pm
Si se puede U_U

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 12 Sep 2005 03:59 pm
Entonces ya no hace falta hacer todo el tedioso parseo tradicional????

Di que sí!!! ¡Eso sería genial!!

Gracias,

Xiki

Por Xiki

23 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 12 Sep 2005 04:01 pm
Mmm a que te refieres exactamente con parseo tradicional?

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 12 Sep 2005 04:05 pm
A este que aprendí:

Parseo del XML (en el primer fotograma del Fla):

var varTexto01:Object = new Object( );
var varTexto02:Object = new Object( );

var miXML:XML = new XML( );
miXML.ignoreWhite = true;

miXML.onLoad = function( )
{
var primerHijo:XMLNode = this.firstChild;
// trace( "primerHijo" + primerHijo );

var nodosHijos:Array = primerHijo.childNodes;
// trace( "número hijos " + nodosHijos.length );

/////////////////TEXTO 01////////////////

var nodoTexto01:XMLNode = nodosHijos[ 0 ];
var logros:String = nodoTexto01.childNodes[ 0 ];
// trace( "nodoTexto01: " + nodoTexto01 ); //funciona OK

varTexto01.logros = logros;

/////////////////TEXTO 02////////////////

var nodoTexto02:XMLNode = nodosHijos[ 1 ];
var proyectos:String = nodoTexto02.childNodes[ 0 ];;
// trace( "nodoTexto02: " + nodoTexto02 ); //funciona OK

varTexto02.proyectos = proyectos;

gotoAndPlay( 2 );
}

miXML.load( "xml/textos.xml" );

stop( );


Luego para "pintar" el texto:

pintarTexto01 = function( )
{
var miMC01:MovieClip = this.attachMovie( "texto01", "texto01", this.getNextHighestDepth( ), {_x:0 ,_y:330});

miMC01.logrosTXT.htmlText = varTexto01.logros;
}

pintarTexto02 = function( )
{
var miMC02:MovieClip = this.attachMovie( "texto02", "texto02", this.getNextHighestDepth( ), {_x:0 ,_y:330});

miMC02.proyectosTXT.htmlText = varTexto02.proyectos;
}

Bueno, eso sería uno de los tantos modos de hacerlo, pues como verás estoy atachando un clip donde va el texto.

Pero es que el modo que dice el tutorial e smucho más fácil y rápido. Voy a probarlo.

Saludos, Xiki

Por Xiki

23 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 12 Sep 2005 04:23 pm
Ahh si, puedes probarlo...

Por cierto sería algo como esto

Código :

var oxml:XML = new XML();
oxml.onLoad = function(exito)
{
   if (exito)
   {  
        //aquí haces lo que debas hacer
    }
}
oxml.load("tu_archivo.xml");

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 12 Sep 2005 05:00 pm
Bueno, lo acabo de probar y en lugar de aparece el texto, sale esto: [object Object]

A ver si me puedes ayudar, por favor, pues ya me ha intrigado este modo de hacerlo. El caso es que necesito cargar cada nodo en caja de texto que está dentro de un movieClip que no está en el escenario sino que cuando necesito lo atacho por medio de una función como verás más abajo.

El XML que tengo es:

Código :

<contenido>
  <logros>Esto es una prueba</logros> 
  <proyectos>Y esto otro también es una prueba</proyectos> 
  </contenido>


Luego creo una variabla para guardar cada uno de los nodos (que son dos) y es aquí donde creo que está el problema que tengo:

Código :

var varTexto01:Object = new Object( );
var varTexto02:Object = new Object( );

var miXml:XML = new XML();
miXml.ignoreWhite = true;

miXml.onLoad = function(exito) 
{
   if (exito) 
   {
      varTexto01 = miXml.firstChild.childNodes[0].firstChild.nodeValue;
      varTexto02 = miXml.firstChild.childNodes[1].firstChild.nodeValue;
   } 
   else 
   {
      errorTXT.htmlText = "Error en la carga del texto";
   }
}

obj_xml.load("xml/contenido.xml");


Y para pintar el texto dentro del clip (cada uno dentro de un clip atacheado):

Código :

pintarTexto01 = function( )
{
   var miMC01:MovieClip = this.attachMovie( "texto01", "texto01", this.getNextHighestDepth( ), {_x:0 ,_y:330});                  
   
   miMC01.logrosTXT.htmlText = varTexto01;
}

pintarTexto02 = function( )
{
   var miMC02:MovieClip = this.attachMovie( "texto02", "texto02", this.getNextHighestDepth( ), {_x:0 ,_y:330});                  
   
   miMC02.proyectosTXT.htmlText = varTexto02;
}



También creo dos funciones para borrar los clips de los textos, peor no hacen falta ahora.

¿Me puedes ayudar???

Gracias, XL[/b]

Por Xiki

23 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 12 Sep 2005 05:52 pm
Primero hazle un trace a estos dos:

Código :

varTexto01 = miXml.firstChild.childNodes[0].firstChild.nodeValue;
      varTexto02 = miXml.firstChild.childNodes[1].firstChild.nodeValue; 

Y ve que te devuelven

Segundo: cuando usas estos dos?

miMC01.logrosTXT.htmlText = varTexto01;
miMC02.proyectosTXT.htmlText = varTexto02;

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 12 Sep 2005 07:00 pm
El trace me da [bject Object]

Y las funciones que "pintan" los textos las ejecuto después con un botón del menú.

Gracias. Xiki

Por Xiki

23 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 12 Sep 2005 07:20 pm
Prueba quitando el nodeValue al final de cada uno y me dices

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 12 Sep 2005 07:23 pm
He probado y nada, sigue todo igual.

Gracias!

Por Xiki

23 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 12 Sep 2005 07:28 pm
ya probaste hacerlo así

Código :

trace(miXml.firstChild.childNodes[0].firstChild.nodeValue);

o así

Código :

trace(miXml.firstChild.childNodes[0].firstChild);


Sin usar las dos variables?

Por cierto al estar dentro del objeto XML, puedes usar this en lugar del nombre del objeto

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 12 Sep 2005 07:34 pm
Esa forma de hacer el trace me da error.

Por Xiki

23 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 12 Sep 2005 07:35 pm
como es la estructura de tu XML

Saludos :D

Por flasher

Invitado



 

msie
Citar            
MensajeEscrito el 12 Sep 2005 07:37 pm
La escribí más arriba:

<contenido>
<logros>Esto es una prueba</logros>
<proyectos>Y esto otro también es una prueba</proyectos>
</contenido>

Por Xiki

23 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 12 Sep 2005 07:43 pm
Ya está. Solucionado, chicos. El problema era simple: equivocación de un nombre; fíjate cómo se llama miXml y cómo se llama en la última línea:

Código :

var varTexto01:Object = new Object( ); 
var varTexto02:Object = new Object( ); 

var miXml:XML = new XML(); 
miXml.ignoreWhite = true; 

miXml.onLoad = function(exito) 
{ 
   if (exito) 
   { 
      varTexto01 = miXml.firstChild.childNodes[0].firstChild.nodeValue; 
      varTexto02 = miXml.firstChild.childNodes[1].firstChild.nodeValue; 
   } 
   else 
   { 
      errorTXT.htmlText = "Error en la carga del texto"; 
   } 
} 

obj_xml.load("xml/contenido.xml");

Por Xiki

23 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 12 Sep 2005 07:44 pm
No te falta está línea?

Código :

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

Xiki escribió:

Esa forma de hacer el trace me da error.


Que error te da?

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell



Ultima edición por Aoyama el 12 Sep 2005 07:45 pm, editado 1 vez

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 12 Sep 2005 07:45 pm
:zombie: :zombie: clásico... bueno a cualquiera le pasa... ^^ ^^ ^^ ^^

Por cierto, no te habia dado la bienvenida...así que Bienvenida a CLab :love:

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 12 Sep 2005 07:47 pm
Muchas gracias!!!!

Por Xiki

23 de clabLevel



Genero:Femenino  

msie

 

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