Lendo XML no Flash.
Depois de tanto tempo sem postar nada, não sei o que me deu, mas esse é o meu 3º post. Sim! Estou no trabalho! eheh
Bom! Vamos lá.
Utilizando o Flash, vamos ler um XML externo, com dados de dois nós.
// XML UTILIZADO. (dados.xml)
<?xml version=”1.0″ encoding=”utf-8″ ?><dados>
<lingua nome = “Masculino”>
<retorno valor = “João” />
<retorno valor = “Rafael” />
<retorno valor = “Cláudio”/>
<retorno valor = “Eduardo”/>
<retorno valor = “Alexandre”/>
</lingua><lingua nome=”Feminino”>
<retorno valor = “Maria”/>
<retorno valor = “Michele”/>
<retorno valor = “Fabiola”/>
<retorno valor = “Pâmela”/>
<retorno valor = “Tatiane”/>
</lingua></dados>
// Código Flash
import mx.transitions.Tween;
//
var dados_xml:XML = new XML ();
dados_xml.ignoreWhite = true;dados_xml.onLoad = function (success:Boolean)
{
trace (“Lendo XML”);// Vendo quantos itens tem no 1º nó do XML. ( length = 2 ‘Masculino e Feminino’)
for (var a = 0; a <= dados_xml.firstChild.childNodes.length – 1; a++)
{
// Pegando os dados do 1º nó do xml. (Atributo – nome = ‘Masculino e Feminino’)
trace (“\nTipo: ” + dados_xml.firstChild.childNodes[a].attributes.nome + “\n”);// Passando em todos os itens do 1º nó e vendo o tamanho do conteúdo dentro dele.
// Length = 5, os 5 nomes no atributo valor.
for (var b = 0; b <= dados_xml.firstChild.childNodes[a].childNodes.length – 1; b++)
{
// Pega o conteúdo de dentro de cada nó e mostra. (Atributo = valor)
// Mostra os nomes das pessoas.
trace (“Nome: ” + dados_xml.firstChild.childNodes[a].childNodes[b].attributes.valor);
}
}trace (“\nOU”);
trace (“\nTipo: ” + dados_xml.firstChild.childNodes[0].attributes.nome + “\n”);
trace (“Nome: ” + dados_xml.firstChild.childNodes[0].childNodes[0].attributes.valor);
trace (“Nome: ” + dados_xml.firstChild.childNodes[0].childNodes[1].attributes.valor);
trace (“Nome: ” + dados_xml.firstChild.childNodes[0].childNodes[2].attributes.valor);
trace (“Nome: ” + dados_xml.firstChild.childNodes[0].childNodes[3].attributes.valor);
trace (“Nome: ” + dados_xml.firstChild.childNodes[0].childNodes[4].attributes.valor);trace (“\nTipo: ” + dados_xml.firstChild.childNodes[1].attributes.nome + “\n”);
trace (“Nome: ” + dados_xml.firstChild.childNodes[1].childNodes[0].attributes.valor);
trace (“Nome: ” + dados_xml.firstChild.childNodes[1].childNodes[1].attributes.valor);
trace (“Nome: ” + dados_xml.firstChild.childNodes[1].childNodes[2].attributes.valor);
trace (“Nome: ” + dados_xml.firstChild.childNodes[1].childNodes[3].attributes.valor);
trace (“Nome: ” + dados_xml.firstChild.childNodes[1].childNodes[4].attributes.valor);
};dados_xml.load (“dados.xml”);
Pra você ler um arquivo xml, você precisa acessar cada nó do xml e ler seu conteúdo. Como se fossem pastas e sub pastas com seu conteúdo respectivo.
// Saída do Código.
Lendo XML
Tipo: Masculino
Nome: João
Nome: Rafael
Nome: Cláudio
Nome: Eduardo
Nome: AlexandreTipo: Feminino
Nome: Maria
Nome: Michele
Nome: Fabiola
Nome: Pâmela
Nome: TatianeOU
Tipo: Masculino
Nome: João
Nome: Rafael
Nome: Cláudio
Nome: Eduardo
Nome: AlexandreTipo: Feminino
Nome: Maria
Nome: Michele
Nome: Fabiola
Nome: Pâmela
Nome: Tatiane
Bom pessoal é isso, se tudo rolar bem, ainda essa semana posto algo sobre Flex.
Abraço a todos.
Clique aqui para abaixar o código fonte do post.