Comunidad de diseño web y desarrollo en internet online

Varibales, xml, for

Citar            
MensajeEscrito el 01 Ene 2009 06:56 pm
Hola, antes ke nada les deseo a todos un excelente año.

Ahora si voy con mi duda, tengo un archivo xml, lo cargo en un archivo flash, leo las variables, todo sin problema, me muevo nodos, pero ahora estoy atorado en algo. Digamos ke el archivo xml tiene un id y un nombre en la siguiente forma:

<?xml version="1.0" encoding="utf-8" ?>
<noticias>
<noticia id="1">texto 1</noticia>
<noticia id="2">texto 2</noticia>
.
.....
</noticias>


ahora bien en un documento en flash pongo campos de texto dinamico, en el valor de su variable lo pongo como id1, id2.. etc, lo mismo para el campo del texto.

pero lo quiero meter con un for, ya que si yo aumento el xml aumento los campos de texto, pero ya me atore ya que no se como ir guardando el valor en una variable para despues ir imprimiendola en pantalla.

Agradeceria mucho su ayuda y espero haberme explikado jeje por ke luego es mas dificil ayudar kuando no nos explikamos bien.

Feliz Año

Por gazustoy

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Ene 2009 06:53 am
Hola Amigo:

Bueno, pues en la parte en donde chekas los nodos, cada que encuentres un elemento noticia, creas un TextField, para crear un TextField, dentro de un movieclip es con algo asi:

Código ActionScript :

var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFF0000;
//Creamos el textField con el nombre "txt_id" y el id numerico proveniente del xml y le colocamos en una posicion incremental
var my_txt:TextField = createTextField("txt_id"+xmlid, 1, 100, 100 * xmlid, 300, 100);
my_txt.multiline = true;
my_txt.wordWrap = true;
//Le damos el valor del texto del XML
my_txt.text = noticia_str;
my_txt.setTextFormat(my_fmt);
//Le asociamos el nombre de una variable
my_txt.variable = "id" + xmlid;


Espero esto te lo facilite, Suerte, Feliz 2009.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 02 Ene 2009 06:31 pm
Hola gracias por la ayuda, ya la estoy probando y las buenas es que me crea el campo, y me vincula el texto, pero solo el ultimo que muestro, aqui te pongo como quedo todo el texto por si estoy haciendo algo mal, de antemano muchas gracias y una disculpa por las molestias.

Código :

noticias_xml = new XML();
noticias_xml.onLoad = inicio;
noticias_xml.load("noticias.xml");
noticias_xml.ignoreWhite = true;

function inicio(){

_global.largo = noticias_xml.firstChild.childNodes.length;

for (i=0; i<largo; i++){
   //Se inicializan variables utilizadas para almenar los datos de una noticia
    id      = noticias_xml.firstChild.childNodes[i].attributes.id;
    noticia = noticias_xml.firstChild.childNodes[i].firstChild.nodeValue;
    escribir();
      
}
}
function escribir(){
//estilo del cuadro de texto
var my_fmt:TextFormat = new TextFormat(); 
my_fmt.color = 0xFF0000;
//Creamos el textField con el nombre "txt_id" y el id numerico proveniente 
//del xml y le colocamos en una posicion incremental 
var my_txt:TextField = createTextField("txt_id"+id, 1, 100, 10+id , 300, 100);

my_txt.multiline = true; 
my_txt.wordWrap = true; 
//Le damos el valor del texto del XML 
my_txt.text = noticia;
my_txt.setTextFormat(my_fmt); 
//Le asociamos el nombre de una variable 
my_txt.variable = "id" + id; 
}


GRACIAS

Por gazustoy

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Ene 2009 06:52 pm
hola, el problema esta en la prfundidad, jeje, se me ha pasdo en mi respuesta anterior :P:

Código ActionScript :

createTextField("txt_id"+id, getNextHighestDepth(), 100, 10+id , 300, 100);

Lo cambias, y listo, suerte.

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.