seguindo esse tutorial : http://www.augpr.com...com_xml_parte_2
consegui criar um sisteminha de notícias que funciona do jeito que eu queria...
as chamadas das notícias aparecem em um componente list, aparece barra de rolagem quando necessário e tal... e quando essas chamadas sao clicadas abre a noticia completa em um componente textArea...
funcional é...mas usando esses componentes fica tudo mto feio...alguem poderia me ensinar a usar algo que possa ser personalizado (como um movie-clip) no lugar desses componentes feios?
codigo AS:
// Objeto XML var oXML:XML = new XML(); // Ignorando espaços em branco oXML.ignoreWhite = true; // Nossa função que listará os títulos no componente List function listaTitulos():Void{ // Nós de <noticias> var childs:XMLNode = oXML.firstChild; // Número total de nós var childTotal:Number = childs.childNodes.length; // Para cada nó em childs for(var i = 0; i < childTotal; i++){ // Nó <noticia> var nodeNoticia:XMLNode = childs.childNodes[i]; // Título var nodeTitulo:XMLNode = nodeNoticia.childNodes[0]; // Valor do título var titulo:String = nodeTitulo.firstChild.nodeValue; // Adicionando item ao componente List. i será o id desta notícia. noticias_lst.addItem({label:titulo, data:i}); } // Selecionando o primeiro index, no caso, a última notícia noticias_lst.selectedIndex = 0; // Mostrando a última notícia mostraNoticia(0); } // Nossa função que irá mostrar a notícia no componente TextArea. // Ela recebe um parâmetro id do tipo Number que será o identificador da notícia. function mostraNoticia(id:Number):Void{ // Nó Notícia referende ao id fornecido var nodeNoticia:XMLNode = oXML.firstChild.childNodes[id]; // Título da notícia - noticia.titulo.conteudo.texto var titulo:String = nodeNoticia.childNodes[0].firstChild.nodeValue; // Texto da noticia - noticia.texto.conteudo(CDATA).texto var texto:String = nodeNoticia.childNodes[1].firstChild.nodeValue; // Autor da noticia var autor:String = nodeNoticia.childNodes[2].firstChild.nodeValue; // Data da noticia var data:String = nodeNoticia.childNodes[3].firstChild.nodeValue; // Mostrando os valores no componente TextArea noticia_txt.text = "<font size='16'><b>" + titulo + "</b></font>"; noticia_txt.text += "<br />" + texto; noticia_txt.text += "-------------------------------------------------------------------------------------"; noticia_txt.text += "<font size='10'>Publicado por " + autor + " em " + data + "</font>"; } // Objeto que será o listener do componente List var evtList:Object = new Object(); /* Evento change. Toda vez que mudarmos o valor do componente, este evento é invocado. Ele fornece um objeto que é uma referência ao evento, e contém o target e o type do evento, no caso target vai ser o componente list e type será change. */ evtList.change = function(evt:Object):Void{ // Mostra a notícia selecionada /* target.value contém o valor de data do item selecionado, ou seja, o ID da notícia. */ mostraNoticia(evt.target.value); } // Adiciona o EventListener ao componente List noticias_lst.addEventListener("change", evtList); // Evento onLoad oXML.onLoad = function(success:Boolean):Void{ // Se carregar com sucesso if(success){ // Se o status do XML for 0, ou seja, nenhum problema. if(oXML.status == 0){ // Lista os títulos no componente List listaTitulos(); } // Fique � vontade para criar avisos no caso de erros. } } // Carregando o documento XML oXML.load("news.xml");
codigo news.xml
<?xml version="1.0" encoding="utf-8"?> <noticias> <noticia> <titulo>Quinta e Última Notícia</titulo> <texto><![CDATA[Um texto de exemplo <i>aqui</i>. Esta é a <a href="#">notícia de número</a> <b>5</b>]]></texto> <autor>Mozart Petter</autor> <data>15/10/2005</data> </noticia> <noticia> <titulo>Quarta Notícia</titulo> <texto><![CDATA[Um texto de exemplo <i>aqui</i>. Esta é a <a href="#">notícia de número</a> <b>4</b>]]></texto> <autor>Mozart Petter</autor> <data>14/10/2005</data> </noticia> <noticia> <titulo>Terceira Notícia</titulo> <texto><![CDATA[Um texto de exemplo <i>aqui</i>. Esta é a <a href="#">notícia de número</a> <b>3</b>]]></texto> <autor>Lucas Ferreira</autor> <data>13/10/2005</data> </noticia> </noticias>
Obrigada a todos