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á
Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.
Marcos Placoná é programador ASP e ColdFusion e desenvolve soluções web com foco em e-commerce.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.