Escrevendo um XML no PHP.


Realmente existem várias dúvidas sobre como gerar um XML corretamente, se a linguagem oferecer suporte a algum parser a tarefa fica mais simples e abstrata, porém algumas linguagens impõe que tudo seja feito na unha vai comandos para escrever em arquivo. No PHP a partir da versão 5 existe o parser DOM que é o que será utilizado para escrever nosso XML, então vamos ao que interessa:

$xmlDoc = new DOMDocument(‘1.0’, ‘utf-8’);
$xmlDoc -> formatOutput = true;

Nesse ponto será definido o construtor DOM, a versão do XML e o seu charset (recomendo que o padrão UTF-8 seja utilizado pois ele se comporta melhor com arquivos XML) e por fim a configuração para a saí­da do arquivo ser de forma limpa.

$sabores = $xmlDoc -> createElement(‘sabores’);
$sabores = $xmlDoc -> appendChild($sabores);

Aqui vamos criar a tag <sabores> a adicionar ela como a primeira tag do nosso XML, observem como tudo é feito de maneira direta e simples, deixando o trabalho “sujo” por conta do parser.

$idHot = $xmlDoc -> createElement(‘idHot’, “identificador do arquivo.”);
$idHot = $sabor -> appendChild($idHot);

$titulo = $xmlDoc -> createElement(‘titulo’, “Tí­tulo vai ser aqui!”);
$titulo = $sabor -> appendChild($titulo);

$comentario = $xmlDoc -> createElement(‘comentario’, “Aqui vamos deixar o nosso comentário sobre o tí­tulo.”);
$comentario = $sabor -> appendChild($comentario);

Acima foi criado mais 3 tags que serão filhas da nossa primeira tag, o código pela sua grande simplicidade é totalmente autoexplicativo, basta criar a tab, incluir o seu conteúdo e em seguida indicar de quem essa tag é filha, tudo muito simples.

$xmlDoc -> save(“teste.xml”);

Pronto, agora é só dar o comando para salvar o seu arquivo, que o XML está criado. Usando essa técnica o XML além de estar com charset UTF-8 já terá alguns caracteres especiais tratados como entidades HTML. Tudo simples e de forma abstrata, sem complicação e tudo o resto.

Agora é só ver a sua necessidade, analisar o código e colocar em prática.

matrix

ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.