Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ayami

[Resolvido] Inserir texto de XML em um Dynamic Text

Recommended Posts

XML

<?xml version="1.0" encoding="utf-8"?>

<exibicao>
	<filme>QUEM QUER SER UM MILIONÁRIO?</filme>
	<filme>GRAND TORINO</filme>
	<filme>WOLVERINE</filme>
</exibicao>

Quero colocar os dados do XML dos 3 filmes

em 3 dynamic texts diferentes a "filmes1" "filmes2" e "filmes3"

 

Essa é a Action:

 

var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);

xmlLoader.load(new URLRequest("EXIBICAO.xml"));

function LoadXML(e:Event):void {
	xmlData=new XML(e.target.data);
	FilmesExibicao(xmlData);
}

function FilmesExibicao(Exibicao:XML):void {
	var filmes1:XMLList=Exibicao.filmes[0];
}

filme1.text =Exibicao.filmes[0]
filme2.text =Exibicao.filmes[1]
filme3.text =Exibicao.filmes[2]

 

Eu sei que esta errada mas não sei como fazer.....

 

Alguem pode ajudar? http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

 

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom :)

 

Segue um exemplo abaixo como deve ser feito:

 

//cria o objeto com o endereço(URL) a ser carregado
var endereco:URLRequest = new URLRequest("exibicao.xml")

//cria o objeto que carregará
var loader:URLLoader = new URLLoader();

//crio a Array que vai conter os filmes
var filme:Array = new Array();

//Função de carregamento completo
function onComplete(event:Event) {
	var filmes = new XML(event.target.data);
	var total = filmes.exibicao.length();
	for(var i:Number = 0; i < total; i++;){
			filme[i] = filmes.exibicao.filme[i];
		}
}
//adiciona a função ao Listener
loader.addEventListener(Event.COMPLETE, onComplete);

//carrega o arquivo xml
loader.load(endereco);

//carrego os textos nos clips
filme1.text = filme[0]
filme2.text = filme[1]
filme3.text = filme[2]

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, primeiramente obrigada pela ajuda, eu utilizei seu exemplo e cheguei no seguinte código, dei até um trace pra ver se estavam retornando as informações corretas e estão, no output aparecem os nomes dos filmes, MAS esta vindo também a seguinte mensagem

 

"TypeError: Error #2007: O parâmetro text não deve ser nulo.

at flash.text::TextField/set text()

at flash_fla::MainTimeline/frame41()"

 

e não carrega nada nos dynamic text.

 

 

 

//cria o objeto com o endereço(URL) a ser carregado
var endereco:URLRequest = new URLRequest("exibicao.xml")

//cria o objeto que carregará
var loader:URLLoader = new URLLoader();

//crio a Array que vai conter os filmes
var filme:Array = new Array();

//Função de carregamento completo
function onComplete(event:Event) {
	var exibicao = new XML(event.target.data);
	var total = exibicao.filme.length();
	for(var i:Number = 0; i < total; i++){
		   filme[i] = exibicao.filme[i];
			trace (filme[i]);
		}
}
//adiciona a função ao Listener
loader.addEventListener(Event.COMPLETE, onComplete);

//carrega o arquivo xml
loader.load(endereco);

//carrego os textos nos clips
teste1.text = filme[0]
filme2.text = filme[1]
filme3.text = filme[2]

E agora rsss não descubro o erro...

novamente obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri o problema!

a ordem estava errada,

 

esta parte:

//carrego os textos nos clips
teste1.text = filme[0]
filme2.text = filme[1]
filme3.text = filme[2]

tinha que ficar dentro da function onComplete

 

 

Obrigada =) funcionou /o/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.