Olá,
Ultimamente tenho tido muito trabalho na faculdade e não tenho conseguido dar a atenção ao Blog que este necessita, nem tenho avançado em algumas ideias que tenho. De qualquer das maneiras umas das coisas que vou utilizar nessas ideias vai ser a utilização de ficheiros XML por isso pensei que fosse um tema para abordar aqui em forma de tutorial.
Os conhecimentos necessários para acompanhar o tutorial são muito básicos.
O que é XML? O XML, eXtensible Markup Language, é uma linguagem de programação utilizada para organizar de forma extruturada informação. Informação esta que depois pode ser utilizada por diferentes plataformas. O XML facilita a troca de dados entre aplicações. Mais informações podem ser encontradas com uma pesquisa no google
<bicicletas>
<bicicleta id="1">
<marca>Scott</marca>
<preco>700</preco>
</bicicleta>
<bicicleta id="2">
<marca>BH</marca>
<preco>2000</preco>
</bicicleta>
<bicicleta id="3">
<marca>Banshee</marca>
<preco>1500</preco>
</bicicleta>
<bicicleta id="4">
<marca>Biomega</marca>
<preco>850</preco>
</bicicleta>
</bicicletas>
Este pequeno código trata-se de informação estruturada em XML. Neste exemplo vamos organizar informação sobre bicicletas.
Começamos por defenir a raíz do documento que neste caso é bicicletas e só deve existir uma por documento.
Agora vamos criar os elementos, que neste caso será cada bicicleta, não há limite para o número de elementos e para além disso podemos ter elementos dentro de elementos como acontece neste caso.
Dentro da bicicleta temos outros elementos como a marca e o preço.
Podemos também atribuir atributos aos elementos como acontece na bicicleta em que defenimos um id.
Espero que tenha explicado bem o que é o XML. Não se esqueçam de quando criarem um ficheiro XML gravar na extensão .xml.
Vamos agora para o Flash. O Flash possui um classe própria para trabalhar com XML.
Primeiro criámos um novo documento no Flash e definimos algumas propriedades.


Agora vamos inserir um caixa de texto com as seguintes propriedades:

Agora vamos começar a escrever o nosso código:

var bicicletas:XML = new XML();
bicicletas.ignoreWhite = true;
bicicletas.onLoad = function(sucesso:Boolean):Void {
if (sucesso) {
teste_txt.text = "-----OK-----";
} else {
teste_txt.text = "-----ERRO-----";
}
};
bicicletas.load("Bicicletas.xml");
O código anterior deve ser inserido na janela actions como mostra a imagem anterior.
var bicicletas:XML = new XML();
bicicletas.ignoreWhite = true;
Aqui criámos a variável XML com o nome bicicletas e ignoran-se os espaços em branco.
bicicletas.onLoad = function(sucesso:Boolean):Void {
if (sucesso) {
teste_txt.text = "-----OK-----";
} else {
teste_txt.text = "-----ERRO-----";
}
};
Esta função retorna um boleano “sucesso” que será verdadeiro se o XML for carregado caso contrário o valor da variável será falso. A varável sucesso vai ser utilizada para descrever se o processo de adquirir o XML correu bem ou não. Para isso verificá-mos se é verdadeira ou falsa e mostramos na nossa caixa de texto o resultado. Para testar carrega-se Ctrl+Enter.

Até este momento simplesmente criámos um variável XML que abriu o ficheiro e ficou com a informação, agora vamos usar essa informação.
if (sucesso) {
teste_txt.text = "-----OK-----";
teste_txt.text += bicicletas.firstChild.nodeName + "\n";
}
Esta nova linha de código que adicionámos vai acrescentar à nossa caixa de texto, para isso em vez de um = foi usado um += que adiciona ao anterior um novo dado, o nome da raíz. Se fizerem agora Crtl+Enter podem ver que depois do OK foi adicionado o nome da raíz que é bicicletas. Os dados do XML são organizados pelo Flash num vector.
teste_txt.text += bicicletas.firstChild.childNodes[0].nodeName + "\n";
Dentro do firstChild temos um vector, childNodes, com os nossos elementos. Na primeira posição do vector vamos ter o primeiro elemento bicicleta como podem verificar depois de inserir este código juntamente com o anterior. Neste momento o resultado no ecrã é uma mensagem de OK, o nome da raíz, e o nome do primeiro elemento.
Como dentro do primeiro elemento temos mais dois elementos, marca e preço, podemos deduzir que essa informação também esta dentro de um vector. Então utilizaremos o seguinte código para retornar esses valores.
teste_txt.text += bicicletas.firstChild.childNodes[0].childNodes[0].nodeName + "\n";
teste_txt.text += bicicletas.firstChild.childNodes[0].childNodes[1].nodeName + "\n";
Neste momento podemos verificar que se encontra no ecrã também o nome dos elementos da bicicleta.
Para finalizar resta saber os valores de cada elemento, neste caso saber o valor do elemento marca e preço. Para isto, em vez de pedirmos o nodeName, vamos pedir o valor com a função membro firstChild.nodeValue. O código é o seguinte:
teste_txt.text += bicicletas.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue+"\n";
teste_txt.text += bicicletas.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue+"\n";
Parece-me que já expliquei o que era necessário, fica em baixo o código final já organizado, podem tambem fazer download dos ficheiros ulizados neste tutorial em baixo.
// this ActionScript sets your content to be full screen
fscommand2("FullScreen", true);
var bicicletas:XML = new XML();
bicicletas.ignoreWhite = true;
bicicletas.onLoad = function(sucesso:Boolean):Void {
if (sucesso) {
teste_txt.text = "-----OK-----"+"\n";
teste_txt.text += "Raíz : " + bicicletas.firstChild.nodeName+"\n";
teste_txt.text += "Primeiro Elemento : " + bicicletas.firstChild.childNodes[0].nodeName+"\n";
teste_txt.text += "Primeiro elemento da bicicleta : " + bicicletas.firstChild.childNodes[0].childNodes[0].nodeName+"\n";
teste_txt.text += "Segundo elemento da bicicleta : " + bicicletas.firstChild.childNodes[0].childNodes[1].nodeName+"\n";
teste_txt.text += "Valor do elementro marca : " + bicicletas.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue+"\n";
teste_txt.text += "Valor do elementro preço : " + bicicletas.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue+"\n";
} else {
teste_txt.text = "-----ERRO-----";
}
};
bicicletas.load("Bicicletas.xml");

Ficheiros XML tutorial (153)
José Xavier
Recent Comments