Quinta-feira, 06 de março de 2003 às 02h59

Gerando conteudo XML

Faltam -1 dias! Inscreva-se agora! O maior encontro de profissionais web da américa latina.

Olá pessoal, como vão!

Acharam que eu tinha sumido né.. He he he pois é, essa correria me deixou sem tempo de fazer nada.

Alem do fato de estar correndo pra caramba na facul.

E ai, como foram de carnaval? Bom, o meu foi ótimo, fui Pra Cananéia, uma ilha situada a exatamente 279 quilômetros daqui de São Paulo. Uma cidade onde os blocos ainda saem na rua, e crianças se fantasiam.
Interior é outra coisa né....

Bom, voltando ao que interessa, gostaria de me desculpar novamente pelo fato de ter atrasado tanto nas materias. espero que isso não venha a acontecer novamente, e também agradecer a todos pelos votos do iBest.

Gostaria de aproveitar também para lhes falar que a partir de agora estarei escrevendo algumas hnovas particularidades do CFMX. Ufa.. demorei né. Portanto estarei escrevendo desde o básico até o mais avançado aqui.

Primeiramente gostaria de lhes mostrar uma problema que há algum tempo me tirou o sono.

Bem, pra uma de minhas aplicações, foi necessário gerar conteudo XML, pois esse conteudo seria lido por um outro sistema, o qual não iria acessar minha base de dados para captar as informações. Após pensar muito, vi que a melhor forma seria fazer isso no braço mesmo. Infelizmente pensei na forma mais dificil, já que depois disso desenvolvido, vima saber de uma custom tag que faria exatamente isso.

Bom, mas a custom tag não vem ao caso, já que eu peguei todos os 87 campos do banco e os declarei no meu código um a um dentro de variaveis desse tipo:

<cfset nome="<nome>#query.nome</nome>#">

Após ter todas as variaveis declaradas, concatenei-as e gravei a partir de um CFFILE.
Trabalho de presidiáro não???
Pois bem com a chegada do Cold Fusion MX, felismente isso não terá mais de ser feito, já que foi criada uma tag chamada <CFXML> que faz exatamente a criação de documentos xml a partir de uma query ou outros.

Bem, o fato é que essa tag é bem simples, e quando a descobri, quase que dei um tiro em minha propia cabeça. Mostrarei um exemplo bem simples aqui, de como criar um documento xml a partir de uma query de cadastro de usuarios.

Primeiramente deveremos criar uma tabela em nosso banco de dados, que deverá conter os seguintes campos:

idUser Auto-Number
nomeUser Text
emailUser Text
cidadeUser Text

Bom, de fato oq queremos é grar um arquivo XML, de dados provenientes do banco de dados.

Nossa estrutura deverá ser mais ou menos assim:

<Usuarios>
      <idusuario>
      <nome>
      <email>
      <cidade>
</Usuarios>

Comecemos noso código.

Primeiramente deveremos fazer uma query que retorne todos os dados de nosso banco de dados.

<cfquery datasource="materias" name="usuarios">
SELECT *
FROM CADASTRO
</cfquery>

Agora deveremos utilizar a tag em questão para criar o XML

//Nossa tag recebe o parametro para indexação

<cfxml variable="xmlUsuarios">

    //Nossa tabela
     <cadastro>
          <cfoutput query="usuarios">
               //Nossos campos seguem a baixo
               <usuario id="#usuarios.idUser#">
               <nome>#usuarios.nomeUser#</nome>
               <email>#usuarios.emailUser#</email>
               <cidade>#usuarios.cidadeUser#</cidade>
               </usuario>

          </cfoutput>
     </cadastro>
</cfxml>

Agora devemos criar uma variavel que transformará nosso conteudo xml em string, para que os dados possam ser transportados sem erros:

<cfset xml = #ToString(xmlUsuarios)#>

//Essa variavel recebe o parametro indicado como "variable" em nossa tag

Tendo feito isso, agora somente nos faltará gravar esses dados em um arquivo .xml

<cffile action="write" file="#getDirectoryFromPath(getTemplatePath())#usuarios.xml" output="#xml#">

Pronto, agora já temos nosso arquivo criado e grabado na pasta corrente, e pronto para ser utilizado. ele terá um fomato parecido com esse:

<?xml version="1.0" encoding="UTF-8" ?>
- <cadastro>
      - <usuario id="1">
           <nome>Marcos Placona</nome>
           <email>i_netmaster@hotmail.com</email>
           <cidade>Sao Paulo</cidade>

        </usuario>
      - <usuario id="2">
           <nome>Jose da Silva</nome>
           <email>jose@ze.com.br</email>
           <cidade>Taguatinga</cidade>

        </usuario>
</cadastro>

Pois bem, agora você já gera seu proprio XML.

Espero que tenham gostado, um abraço,

Marcos Placoná

 

Nenhum comentário até agora

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.