Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/html/pontshbr/www/perfis/colPerfil.inc.php on line 22

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/html/pontshbr/www/truques/colunaTruques.inc.php on line 23

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/html/pontshbr/www/tutoriais/colunaTutoriais.inc.php on line 25

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/html/pontshbr/www/sources/colunaSources.inc.php on line 25
HOME | TUTORIAIS
Objeto XML - importando para o Flash
por Helen Triolo

No artigo anterior, nós vimos como um arquivo XML é convertido para um objeto XML no Flash. Mas um objeto XML ainda é algo complicado de se tratar, então nesse exemplo convertemos os dados para algo mais manejável (uma array) e a usamos para mostrar uma saída ao usuário -- nesse caso, como um campo de texto com links clicáveis.

   Há milhões de maneiras diferentes de se ler XML no Flash e mais um milhão de maneiras de estruturar os dados. Lidando com uma série de dados repetidos, cada um deles com as mesmas partes (um cenário XML comum para cada arquivo - o arquivo que pegamos em moreover.com é um exemplo), minha preferência é trabalhar com uma array de objetos desses dados. Cada elemento da array é um dos itens repetitivos (um artigo, nesse caso) e um objeto cujas propriedades são as "muitas partes" mencionadas acima.

O filme Flash acima é dividido em dois keyframes: no primeiro, os dados XML são lidos e analisados no array de objetos. No segundo, são colocados num campo de texto para ser mostrado. O primeiro keyframe realiza as seguintes ações:

- inclui xmlnitro.as, se o filme Flash for publicado como Flash 5.
- define a função construtora para um objeto Artcle.

function Article(id, link, headline, source) {
   this.id = id;
   this.link = link;
   this.headline = headline;
   this.source = source;
}

- define uma função para analisar o XML e cria uma array de objetos Artigos (várias quebras de linhas foram adicionadas para caber aqui, faça download do fla abaixo para ver como era originalmente):

function makeArray(success) {
   var i, j, mainTag, id, link, headline, source;
   if (success) {
      for (i=0; i<=this.childNodes.length; i++) {
         if (this.childNodes[i].nodeValue == null && this.childNodes[i].nodeName == "moreovernews") {
            mainTag = this.childNodes[i];
         }
      }

      for (i=0; i<=mainTag.childNodes.length; i++) {
         if (mainTag.childNodes[i].nodeName == "article") {
            id = mainTag.childNodes[i].attributes["id"];
               for (j=0; j<mainTag.childNodes[i].childNodes.length; j++) {
                  if (mainTag.childNodes[i].childNodes[j].nodeName != null) {
                     if (mainTag.childNodes[i].childNodes[j].nodeName == "url") {
                     link = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue;
                  } else if (mainTag.childNodes[i].childNodes[j].nodeName == "headline_text") {
                     headline = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue;
                  } else if (mainTag.childNodes[i].childNodes[j].nodeName == "source") {
                     source = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue;
                  }
               }
            }
            thisArticle = new Article(id, link, headline, source);
            articles.push(thisArticle);
            delete thisArticle;
         }
      }
      _root.gotoAndStop("showArticles");
   }
}

- inicia o carregamento do XML, que chamará aquela função quando o objeto XML é lido

var articles = [];
moXML = new XML();
moXML.ignoreWhite = true;
moXML.onLoad = makeArray;
moXML.load("intdev_page.xml");
stop();

O segundo keyframe faz um loop por todos os elementos da array Artigos, mostrando cada um como um link clicável em um campo de texto.

news = "";
for (i=0; i<articles.length; i++) {
   news += "<a href='" + articles[i].link + "'>" + articles[i].headline + "</a><br>";
   news += " <font color='#cccccc'>(" + articles[i].source + ")</font><br>";
}
stop();

Faça o download do arquivo XML e do FLA que nós usamos para criar o filme Flash acima.

 Objeto XML - Importando para o Flash - XML viewer

Tradução:
Alê Porto



Devido à reformulação implementada no site, pode ser que você encontre alguns links quebrados. Por favor, ajude-nos a corrigir eventuais problemas nos informando links quebrados
2 comentários


Comentário de joy
| 18/11/2010 - 17:58 |


oi num consigo traduzir msgns xml,por favor me ajudem



Comentário de joy
| 18/11/2010 - 17:58 |


oi num consigo traduzir msgns xml