Arquivar

Posts Etiquetados ‘Xml’

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: Alexandre

Tipo: Feminino

Nome: Maria
Nome: Michele
Nome: Fabiola
Nome: Pâmela
Nome: Tatiane

OU

Tipo: Masculino

Nome: João
Nome: Rafael
Nome: Cláudio
Nome: Eduardo
Nome: Alexandre

Tipo: 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.