Ler XML com PHP

Ler XML com PHP

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 Objeto
$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 Objeto, se quiser ver o detalhes do objeto criado pela função e atribuído à variável $xml, utilize a função do PHP print_r . O resultado será como mostrado abaixo:

O comando print_r($xml) resultará em:

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

Abraços e até o próximo post.  😉

Comments

  1. By simei

  2. By Guilherme

  3. By Allan

  4. By Andrei

  5. By Andrei

  6. By Andrei

  7. By luiz tarabal

  8. By klonder

  9. By Fernando

  10. By Eric Malzone

  11. By Alcir

  12. By Mario

  13. By Augusto

  14. By Raphael

  15. By Geovani

  16. By Thiago

  17. By Carlos

  18. By Carlos

      • By Carlos

  19. By Carlos

  20. By Carlos

  21. By victor matuk

  22. By Vasco

      • By Vasco

    • By Daniel

  23. By Saulo

  24. By Gisele

      • By AndreLC

  25. By AndreLC

  26. By Carlos Cesar Nardo Junior

  27. By Felipe

      • By Felipe

  28. By rosa

  29. By rosa

      • By Rosa

  30. By rosa

      • By Rosa

  31. By Rosa

  32. By Flavio

  33. By Rodolfo

  34. By Gustavo Voll

      • By Gustavo Voll

  35. By ygor

  36. By Ricardo

      • By Ricardo

  37. By patrick

  38. By fabio

  39. By Eduardo

  40. By Gilbert Eterovisk

  41. By Fernando Melo

  42. By mizifih

  43. By Fabiano

  44. By Adriano

      • By Adriano

  45. By Marcelo

  46. By Felipe

    • By Rafael Clares

  47. By EnigmA

  48. By icenysp

      • By icenysp

  49. By Adriano

      • By Adriano

  50. By Noel Santos

  51. By Luiz

  52. By Jonas Felipe

  53. By rodrigo

%d blogueiros gostam disto: