Acessando arquivos XML com PHP

XML (Extensible Markup Language) é uma recomendação da W3C (World Wide Web Consortium: consórcio internacional que visa desenvolver padrões para a criação e a interpretação de conteúdos para a Web.) para gerar linguagens de marcação para necessidades especiais. Seu propósito principal é a facilidade de compartilhamento de informações através da internet.

O XML, hoje, pode ser encontrado na maioria dos websites que distribuem conteúdo. Na maioria deles, o arquivo é fornecido como um "Feed" no formato RSS (em sua versão 2.0 é chamado de Really Simple Syndication), contendo as últimas atualizações do website em questão, mas também podemos encontrar outros tipos de conteúdo para os xml.

O tipo de XML que eu mais utilizo atualmente, serve para trocar informações entre base de dados distintas. Eu posso fornecer, inclusive, todo um banco de dados em um único arquivo XML (que é apenas um arquivo texto) e ler em um outro sistema de uma maneira bem simples de entender e programar. E é com este fim que escrevo este artigo: resgatar informações de outra base de dados.

O PHP fornece várias formas de leitura e escrita de arquivos. Vou falar aqui apenas da forma simplificada de leitura de XML: o simplexml_load_file. Vamos ao código comentado:


// Formato do arquivo xml
/*
<xml>
<item>
<link>http://henriquecorrea.com</link>
<title>Henrique Correa .com</title>
<pubDate>2011-10-01</pubDate>
</item>
<item>
<link>http://seuwebsite.com.br</link>
<title>Sua Empresa</title>
<pubDate>2011-11-01</pubDate>
</item>
*/

$url = "http://www.websitedesejado.com.br/rss/rss.xml";
$xml = simplexml_load_file($url);
foreach($xml->item as $itens){
echo "<li><a href=\"$itens->link\" target=\"_blank\">$itens->title</a> $itens->pubDate</li>";
}

No código acima podemos acompanhar o arquivo XML e, logo depois, o código para leitura já com os resultados na tela.

1 - A variável "url" recebe o link que vamos ler. Entenda que o link desejado irá nos retornar o arquivo no formato comentado acima.

2 - A variável "xml" transforma o arquivo em um formato simples para entendimento do php, utilizando a função simplexml_load_file.

3 - O comando foreach transforma o primeiro nó (item) do XML em uma variável que será percorrida até que não se tenham mais itens com o mesmo nome.

4 - Escrevendo na tela o resultado dos nós internos. Para chamar ler os nós, apenas utilizamos o nó que estamos percorrendo: "item" chamado de "itens", seguido do comando de referência "->", e o nome do nó. Assim, temos os seguintes dados "itens->link", "itens->title" e "itens->pubDate".

Bem simples, não!?

E é simplificando assim que o PHP ganha na hora de desenvolver. Basta criatividade e vontade de estudar sobre seus recursos.

Bons estudos e até o próximo post.

Tags desta matéria

Deixe sua opnião