PDA

Ver Versão Completa : XML.nodesNumber - ActionScript 2.0



pokecaio
01/09/2009, 10:01
E aí pessoal!
Hoje, como meu primeiro POST, vou apresentar uma função simples para facilitar a manipulação de arquivos XML com ActionScript 2.0.
Por mais estranho que pareça, a versão 2.0 do ActionScript do Flash não possui uma função que retorne o número total de nós de um arquivo XML. Muitas vezes este número é essencial, principalmente quando os dados precisam ser enviados dinamicamente para outros arquivos ou quando precisamos criar menus com XML, por exemplo. O código que apresento aqui permite que se descubra o número de nós em um determinado “nível do XML”.


ACTIONSCRIPT 2.0

/*1*/ System.useCodepage = true;
/*2*/ var MeuXML:XML = new XML (); // Cria uma variável para “apontar” para o arquivo XML
/*3*/ MeuXML.load (texto); //Abre o arquivo XML
/*4*/ arquivo.ignoreWhite = true; //Ignora espaços em branco
/*5*/ arquivo.onLoad = function () //Função iniciada quando o arquivo XML for carregado.
/*6*/ {
/*7*/ var ultimonome = this.childNodes[0].lastChild.nodeName; // Guarda o nome do ultimo nó do arquivo XML
/*8*/ var nome = this.childNodes[0].childNodes[1].nodeName; //Guarda o nome do nó de índice 1
/*9*/ while (ultimonome != nome) //Percorre o arquivo XML até que o ultimo nó seja encontrado
/*10*/ {
/*11*/ nome = this.childNodes[0].childNodes[totalnode].nodeName; // Atribui à variável nome o nome do próximo nó da lista.
/*12*/ totalnode++; // Incrementa a variável de número de nós em 1;
/*13*/ }
/*14*/ trace (totalnode); // Exibe o valor na janela de saída (Output).
/*15*/ }


A chave para entender o funcionamento da função acima é tratar os nós do arquivo XML como um vetor (por isso o índice entre chaves no método .childNodes[]). Para se obter o número de nós de outros “níveis de nós” de seu arquivo XML, basta adicionar o atributo .childNodes[0] em cada linha em que se manipula métodos da classe de XML. De forma geral, para que se descubra o número de nós de um nível N, basta adicionar N vezes ”.childNodes[0]” nas linhas 7, 8 e 1.
[Only registered and activated users can see links]
VLW!

Katsuke
04/09/2009, 06:56
Isso, pra mim, é coisa de outro mundo DSAHUDSHAUDIHASDUHASD

Vlw pela contribuição, Caio!


=*

unn4m3D_BR
04/09/2009, 12:18
Já tentei mexer com flash, nem tive mt sucesso .. ahahah
Quem sabe um dia volto a ter interesse nessa joça .. ahah

Parabéns man .. ! :D

bjxx ..

pokecaio
07/09/2009, 10:51
VLW! Em breve postarei novos tutoriais!!!!

pokecaio
07/09/2009, 10:56
Acredito que Flash eh a melhor ferramenta para desenvolvimento web. VLW pela resposta!