Professional Documents
Culture Documents
Assim como qualquer outra linguagem, o XML tem seus prós e contras. XML
serve como uma base de dados, mas com pouca segurança. Guardar dados
com senha? Nem pensar. Mas então por que usar o XML se o que os
profissionais mais buscam hoje em dia é a segurança para seus arquivos? A
grande vantagem está no fato de não necessitar de uma outra linguagem
ou banco de dados para enviar dados para o Flash. O Flash consegue ler
facilmente um XML. Lembrando que é impossível editar ou remover tag’s do
XML pelo Flash.
Pressione Ctrl + Enter e veja que aparecerá todo o nosso XML na janela de
saída.
Até aí muito fácil, não?
System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("arquivo.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
trace(this.childNodes[0]);
}
Repare que agora ele mostrou somente o que esta entre <galeria> ...
</galeria>.
Mas por que isso? Simples, porque informamos que nós queríamos tudo o
que estiver no primeiro nó do XML. Cada childNodes representa um nó no
XML.
Você poderia ter usado também “firstChild”(sem aspas).
System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("arquivo.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
trace(this.childNodes[0].childNodes[0]);
}
Com isso ele acessa a primeira linha das fotos. Lembre que no XML, a
contagem começa do 0.
System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("arquivo.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
trace(this.childNodes[0].childNodes[0].attributes.imagem);
trace(this.childNodes[0].childNodes[0].attributes.legenda);
}
Perceba que agora temos 2 trace. Um pra a foto e outro para a legenda.
No primeiro, o “attributes.imagem” pega o valor que está declarado no xml
como imagem=”casinha.jpg”. E no segundo, o “attributes.legenda” pega a
respectiva legenda no XML.
casinha.jpg
Minha casa
Agora é só informar ao flash para ler a imagem e o texto dentro dos alvos
correspondentes. Para isso, cole o seguinte código:
System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("arquivo.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
clipe.loadMovie(this.childNodes[0].childNodes[0].attributes.imagem);
legenda.text = this.childNodes[0].childNodes[0].attributes.legenda;
}
Pronto. O seu clipe de filme instanciado como “clipe” vai ler a imagem
correspondente à primeira linha do XML, que nesse caso é a “casinha.jpg” e
a sua caixa de texto vai ler a legenda correspondente.