Les cuento mi problema. (les aclaro que soy bastante novato en esto)
tengo en una web (www.balletydescontrol.com.ar) hecha en flash un talón donde se cargan noticias desde un archivo xml, el tema es que el campo de texto me muestra solo una noticia y mi intención es que cargue las siguientes noticias a continuación.
El código que usé lo saqué de un ejemplo de por ahí y lo modifiqué como mejor me servía..
Cada noticia cuenta con Titulo, mensaje y fecha
bueno les pego el codigo en mi pelicula flash que carga ese xml
Código ActionScript :
//Permite caracteres tradicionales como letras con tilde la ñ, etc. System.useCodepage = true; //Se declara la variable indice de tipo número (utilizada para referencia la noticia a mostrar) var indice:Number; //Se declara la variable noticias_xml de tipo XML (utilizada para almacenar el documento xml) var news_xml:XML; /* Funcion cargarDatos (utilizada para cargar y cambiar las noticias en el documento) Esta función recibe un parámetro "_indice" que corresponde al elemento noticia a mostrar */ function cargarDatos(_indice:Number) { //Se inicializan variables utilizadas para almenar los datos de una noticia var fecha:String; var titulo:String; var mensaje:String; //Recuperando datos del objeto xml //Se accede al primer elemento [noticia] y se recupera la fecha desde el atributo [fecha] fecha = news_xml.firstChild.childNodes[_indice].attributes.fecha; //Se accede al primer hijo de elemento [noticia] y se recupera al valor del primer elemento de [titulo] titulo = news_xml.firstChild.childNodes[_indice].firstChild.firstChild.nodeValue; //Se accede al segundo hijo de elemento [noticia] y se recupera el valor del primer elemento de [mensaje] mensaje = news_xml.firstChild.childNodes[_indice].firstChild.nextSibling.firstChild.nodeValue; //Se accede al último hijo de elemento [noticia] y se recupera el valor del primer elemento de [imagen] imagen = news_xml.firstChild.childNodes[_indice].lastChild.firstChild.nodeValue; //Mostrando los datos recuperados en el cuado de texto mensaje_txt y cargando la imagen en pantalla_mc _root.mensaje_txt.htmlText = ""; _root.mensaje_txt.htmlText += "<p align='left'><font color='#222222' size='12'><b>"+titulo+"</b></font></p>"; _root.mensaje_txt.htmlText += "<p><font size='11'>"+mensaje+"</font>"; _root.mensaje_txt.htmlText += "<font color='#999999' size='10'>Publicado: "+fecha+"</font></p>"; } //Inicializaciones indice = 0; //inicializando indice en 0 para mostrar la primera noticia //creando el objeto noticias_xml de typo XML news_xml = new XML(); //Permite que el objeto XML ignore los espacios en blanco entre marca y marca del documento XML news_xml.ignoreWhite = true; //El método load() permite cargar el documento xml "noticias.xml" news_xml.load("news.xml"); //El evento onLoad de activa cuado se haya cargado el documento noticias.xml news_xml.onLoad = function() { //Se llama a la funcion cragarDatos para mostar la primera noticia (esto por la variable indice en 0) cargarDatos(indice); };
y en mi archivo news.xml tengo
Código ActionScript :
<?xml version="1.0" encoding="iso-8859-1"?> <noticias> <noticia fecha="27/09/2010"> <titulo>Entrevista en "Duplex" LU2 - Radio Bahia Blanca!</titulo> <mensaje>Fuimos entrevistados por la gente de Duplex y en una charla interesante comntamos al público de que se trataba nuestro proyecto de la Cucha Indoor, podés escuchar la entrevista completa en nuestra secci'on de producto / cucha Indoor</mensaje> <noticia fecha="20/09/2010"> <titulo>Gran lanzamiento Web en Octubre!!</titulo> <mensaje>Nuestra nueva y mejorada web estara disponible a partir de los primeros dias de Octubre 2010. Con nuevas secciones y mucha info para que no te aburras y nosotros tampoco...</mensaje> </noticia>
mi duda está en la parte que dice
indice = 0;
osea eso es para cargar el primer elemento, como hago para que después cargue el siguiente?
se pueden cargar más de una noticia en un mismo cuadro de texto dinámico?
Por ahí leí que la fucnción array puede hacer esto que estoy buscando yo, tipo que busque la primer noticia del archivo, la muestre, busque la siguiente y la muestre abajo y así sucesivamente....
Me resulta raro porque parece algo tan simple y me cansé de navegar la web sin encontrar soluciones...
Desde ya muchas gracias!