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










