Comunidad de diseño web y desarrollo en internet online

problema al cargar datos XML

Citar            
MensajeEscrito el 19 Feb 2007 08:33 pm
Buenas.... Al grano:
Tengo en el primer fotograma de linea principal:

Código :

System.useCodepage = true; 
var indice:Number; 
var productos_xml:XML; 
function cargarDatos(_indice:Number){
   var titulo:String;
   var texto:String;
   var imagen:String;
}
productos_xml = new XML();
productos_xml.ignoreWhite = true;
productos_xml.load("productos.xml");

... y cargo datos con botones programados así:

Código :

on(release){
   titulo = productos_xml.firstChild.childNodes[0].firstChild.firstChild.nodeValue;
   texto = productos_xml.firstChild.childNodes[0].firstChild.nextSibling.firstChild.nodeValue
   imagen = productos_xml.firstChild.childNodes[0].lastChild.firstChild.nodeValue
   _root.producto_txt.htmlText ="";
   _root.producto_txt.htmlText += "<p align='left'><font color='#00A19B' size='18'><b>" + titulo + "</b></font></p>";
   _root.producto_txt.htmlText += "<BR><p><font size='11'>" + texto + "</font>";
   _root.vacio_imagen.loadMovie(imagen);   
   }

El problema: Si tengo esos botones en _root, todo va bien; pero si estan dentro de movieclips o en swf cargados, no consigo que me cargue los datos del XML, ni poniendo _root a nada.

Este código lo he hecho yo como buenamente he podido, sabiendo casi nada de XML.
Si a parte de solucionarme el problema, alguien quiere aportarme algo, mejor que mejor.

Gracias a quien se tome las molestias

Por drac022

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Feb 2007 10:18 pm
Alguna vez me hice exactamente la misma pregunta.

Está claro que tenés que actualizar tu código en relación a cómo va a ser cargado el elemento.

por ejemplo si cargás esos botones y campos de texto desde loader_mc tu código debería ser:

Código :

on(release){
   titulo = productos_xml.firstChild.childNodes[0].firstChild.firstChild.nodeValue;
   texto = productos_xml.firstChild.childNodes[0].firstChild.nextSibling.firstChild.nodeValue
   imagen = productos_xml.firstChild.childNodes[0].lastChild.firstChild.nodeValue
   _root.load_mc.producto_txt.htmlText ="";
     .................
     .................
     .................
   }


Lo ideal, para no tener que hardcodear una ruta que podría variar en el futuro, es usar rutas relativas, entonces:

Código :

on(release){

   titulo = productos_xml.firstChild.childNodes[0].firstChild.firstChild.nodeValue;

   texto = productos_xml.firstChild.childNodes[0].firstChild.nextSibling.firstChild.nodeValue

   imagen = productos_xml.firstChild.childNodes[0].lastChild.firstChild.nodeValue

   this.producto_txt.htmlText ="";
     .................
     .................
     .................

   }


Y de esa forma debería funcionar tanto si lo vinculás como si lo usás "standalone", jejeje.

Por matias.quaglia

4 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 20 Feb 2007 09:39 am
gracias, pero me sigue sin cargar los datos con el botón que tengo dentro de un mc
alguien mas sabe que puedo hacer???

Por drac022

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Feb 2007 11:01 am
ya encontré yo mismo la solución. la programación del botón ha de ser:

Código :

on (release) {
   titulo = _root.productos_xml.firstChild.childNodes[1].firstChild.firstChild.nodeValue;
   texto = _root.productos_xml.firstChild.childNodes[1].firstChild.nextSibling.firstChild.nodeValue;
   imagen = _root.productos_xml.firstChild.childNodes[1].lastChild.firstChild.nodeValue;
   this._root.producto_txt.htmlText = "";
   this._root.producto_txt.htmlText += "<p align='left'><font color='#00A19B' size='18'><b>"+titulo+"</b></font></p>";
   this_root.producto_txt.htmlText += "<BR><p><font size='11'>" + texto + "</font>";
   this._root.vacio_imagen.loadMovie(imagen);
}

Por drac022

1 de clabLevel



 

firefox

 

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