Carregando XML com Actionscript 3.0

Neste tutorial iremos aprender como carregar um xml usando Actionscript 3.0, assim iremos entender como o suporte ao xml esta muito mais simples…

Primeiramente iremos criar o XML salvando o mesmo na pasta em que se encontra o arquivo .swf

agenda.xml

<?xml version=”1.0″ encoding=”utf-8″ ?>
<agenda>
<contatos>
<contato>
<nome>Danillo Castilho</nome>
<telefone>1111-1111</telefone>
<celular>2222-2222</celular>
</contato>
<contato>
<nome>Danillo Castilho</nome>
<telefone>3333-3333</telefone>
<celular>4444-4444</celular>
</contato>
</contatos>
<contatos>
<contato nome=”Danillo Castilho” telefone=”5555-5555″ celular=”6666-6666″ />
<contato nome=”Danillo Castilho” telefone=”7777-7777″ celular=”8888-8888″ />
</contatos>
</agenda>

Agora iremos ao actionscript, primeiramente iremos criar as variaveis e as propriedados para carregar o XML

System.useCodePage = true;

var xml:String = “agenda.xml”;
var xmlRequest:URLRequest = new URLRequest(xml);

var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(xmlRequest);

Com isto o xml já será carregado! para visualização teremos de aplicar um listener no URLLoader…

xmlLoader.addEventListener(Event.COMPLETE, readXML);

e depois iremos navegar no XML, esta navegação será de 2 modos para visualizar o poder do Actionscript 3.0

function readXML(e:Event):void {
var i:int = 0;

var contacts:XML = new XML(e.target.data);
contacts.ignoreWhitespace = true;

var list:XMLList = contacts.contatos;

trace(“FIRST LIST\n”);

for( i = 0; i < list[0].contato.length(); i++ ){
trace(“————————————————–”);
trace(list[0].contato[i].nome);
trace(list[0].contato[i].telefone);
trace(list[0].contato[i].celular);
trace(“————————————————–\n”);
}

trace(“SECOND LIST\n”);

for( i = 0; i < list[1].contato.length(); i++ ){
trace(“————————————————–”);
trace(list[1].contato[i].@nome);
trace(list[1].contato[i].@telefone);
trace(list[1].contato[i].@celular);
trace(“————————————————–\n”);
}

}

Assim teremos a leitura do XML por completo:

System.useCodePage = true;

var xml:String = “agenda.xml”;
var xmlRequest:URLRequest = new URLRequest(xml);

var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(xmlRequest);

xmlLoader.addEventListener(Event.COMPLETE, readXML);

function readXML(e:Event):void {
var i:int = 0;

var contacts:XML = new XML(e.target.data);
contacts.ignoreWhitespace = true;

var list:XMLList = contacts.contatos;

trace(“FIRST LIST\n”);

for( i = 0; i < list[0].contato.length(); i++ ){
trace(“————————————————–”);
trace(list[0].contato[i].nome);
trace(list[0].contato[i].telefone);
trace(list[0].contato[i].celular);
trace(“————————————————–\n”);
}

trace(“SECOND LIST\n”);

for( i = 0; i < list[1].contato.length(); i++ ){
trace(“————————————————–”);
trace(list[1].contato[i].@nome);
trace(list[1].contato[i].@telefone);
trace(list[1].contato[i].@celular);
trace(“————————————————–\n”);
}

}

Até a próxima pessoal!

Ainda sem comentários

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.