BlogBlogs.Com.Br

domingo, 2 de novembro de 2008

XML e ActionScript 3.0


O XML apresenta muitas vantagens para a manipulação e compartilhamento de dados de forma organizada (tanto para humanos quanto para máquinas).

É possível trabalhar com esse formato com ActionScript 3.0 , seja de forma local ou remota. Os arquivos XML são comumente usados como resposta de web Services e por essa razão segue um breve tutorial de como funciona XML + AS 3.0 .

var loader:URLLoader = new URLLoader();
var xml:XML;
loader.addEventListener(Event.COMPLETE , onLoaded);

function onLoaded (E:Event):void {
xml = XML(E.target.data);
trace(xml);
}

loader.load(new URLRequest("teste.xml"));

É declarado um objeto da URLLoader que é capaz de carregar texto e até mesmo dados binários.
Também é declarado um objeto do tipo XML.
Um listener ( ouvinte ) é adicionado ao loader. Quando o carregamento estiver completo a função onLoaded é chamada.
O carregamento se dá pelo método load, passando como parâmetro a URLRequest contendo o endereço do XML. Neste caso, o XML é carregado localmente.
O objeto xml recebe o conteúdo carregado pelo loader. Como xml é do tipo XML, ocorre uma conversão de tipos no momento dessa atribuição.

  • Dicas sobre manipulação de XML:

Para obter um ponto (nó) específico do xml em questão basta seguir a hierarquia dos nós usando um ponto.

trace(xml.tag1.tag2);

Como dito anteriormente é comum ter XMLs como retorno de web services. Neste caso o XML recebido terá algumas tags “lixo” geradas pelos protocolos dos web service. Essas tags podem causar uma “confusão”, sendo assim para referenciar um nó específico deve-se usar:

trace(xml..*::tag[0].text());
Abaixo um link de uma aplicação (AS 3.0) consumindo um web service que retorna um XML.
link

0 comentários: