02
Ler e Consumir XML PHP
Posted by admin | Posted in PHP | Posted on 02-05-2012
Veremos como ler um arquivo XML utilizando o método SimpleXML no PHP5, depois que escrevi como criar um arquivo XML com PHP nada mais interessante que saber como ler o arquivo.
Começaremos criando um arquivo XML bem simples, escreva o código abaixo e salve como:
livros.xml <?xml version=”1.0″ encoding=”iso-8859-1″?> <livros> <livro> <cod>01</cod> <titulo>PHP para iniciantes</titulo> <descricao>Desenvolvendo Aplicações web</descricao> <autor>Manuel da Silva</autor> <paginas>200</paginas> <preco>5.00</preco> </livro> <livro> <cod>02</cod> <titulo>XML</titulo> <descricao>Usando XML com PHP </descricao> <autor>José das Couves</autor> <paginas>100</paginas> <preco>15.00</preco> </livro> </livros>
Agora que já temos o XML vamos criar o arquivo PHP, salve-o com o nome que quiser.
index.php
<?
#define o encoding do cabeçalho para utf-8
@header(‘Content-Type: text/html; charset=utf-8′);
#carrega o arquivo XML e retornando um Array
$xml = simplexml_load_file(“livros.xml”);
# se o xml for um link e nao um arquivo como livros.xml, troque -o pelo link ex.
# $xml = simplexml_load_file(“http://endereco/link/mesmoQueNaoTenhaExtensaoXML/“);
#para cada nó LIVRO atribui à variavel $livro (obj simplexml)
foreach($xml->livro as $livro)
{
echo $livro->cod;
#usando o utf8_decode para exibir com acentos
echo $livro->titulo;
echo $livro->autor;
echo $livro->descricao;
echo $livro->preco;
echo “<br>”;
}
?>
Muito simples! O nome do método não é em vão!
Bem, agora basta você formatar a saida dos dados, utilize tags html formatadas com CSS, um exemplo pode ser como abaixo:
echo “<p><b>Título:</b> “ .$livro->titulo . “</p>”;
Como está no comentário no código, a função simplexml_load_file carrega um arquivo XML retornando seu conteúdo em um Array, se quiser ver o formato desse array criado pela função e atribuído à variável $xml, utilize a função do PHP print_r que serve para exibir um array na tela. O resultado será como mostrado abaixo:
O comando print_r($xml) resultará em:
<pre>SimpleXMLElement Object
(
[livro] => Array
(
[0] => SimpleXMLElement Object
(
[cod] => 01
[titulo] => PHP para iniciantes
[descricao] => Desenvolvendo Aplicações web
[autor] => Manuel da Silva
[paginas] => 200
[preco] => 5.00
)
[1] => SimpleXMLElement Object
(
[cod] => 02
[titulo] => XML
[descricao] => Usando XML com PHP
[autor] => José das Couves
[paginas] => 100
[preco] => 15.00
)
[2] => SimpleXMLElement Object
(
[cod] => 03
[titulo] => Javascript
[descricao] => O Poder do javascript
[autor] => Billy Borny
[paginas] => 80
[preco] => 9.90
)
)
)
Links:
Documentação do SimpleXML: SimpleXML
FONTE: http://clares.wordpress.com/2008/08/17/ler-xml-com-php/
