Leitor de arquivo XML (RSS) em PHP
20, Março 2008 at 4:28 am | In PHP / MySql | 4 CommentsTags: feed, leitor, Noticias, rss, XML
Para hoje um simples leitor de arquivo XML, com ele será possível ler FEED de noticias, é apenas um exemplo que cada um poderá modifica-lo as suas necessidades, neste exemplo vou pegar uma URL de um FEED e mostrar na tela em uma tabela com PHP.
Segue o código:
<?php
$xml = simplexml_load_file(”http://maurocesarsl.wordpress.com/rss“);
echo “<table>”;
foreach($xml->channel->item as $item){
echo “<tr><td>” . “<a href=’” . $item->link . “‘ target=’blank’ >” . utf8_decode($item->title) . “</td></tr>”;
echo “<tr><td>”. utf8_decode($item->description).”</td></tr>”;
}
echo “</table>”;
?>
O endereço que estou usando de teste e o RSS do blog http://maurocesarsl.wordpress.com/rss nele tem um arquivo XML.
As informações estão em uma hierarquia, por exemplo cada notícia e um item do RSS, e os itens estão dentro do channel. Por este motivo q uso $xml->channel->item estou pegando cada item do RSS, e estou chamando em uma variável $item, desta maneira para exibir um link uso $item->link, assim por diante.
Para ver o arquivo XML puro veja em http://maurocesarsl.wordpress.com/rss, no arquivo vc percebe a hierarquia das informações.
Segue o código em txt, Leitor de RSS.
Qualquer dúvida, maurocesarsl@uol.com.br
4 Comentários »
Feed RSS dos comentários deste post URI do TrackBack
Deixe um comentário
Blog no WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
Coloquei seu script em uma página (.php) e enviei o arquivo para o servidor trocando o endereço para o meu feed. Aconteceu este erro. O que fiz errado?
Fatal error: Call to undefined function: simplexml_load_file() in /home/pirenopo/public_html/teste.php on line 1
Comentário por Augusto — 21, Maio 2008 #
Kra.. esse erro pode ter acontecido pelo fato do seu arquivo xml estar fora do padrão, assim como o xml do site do UOL (ultimas noticias) isso acontece, mas se possivel vc poderia me enviar seu arquivo xml para verificar? Então se vc permitir posto aqui com o resultado.
Abraço
Comentário por maurocesarsl — 29, Maio 2008 #
ok. Funcionando. Era meu servidor que estava em php4 ainda e não reconhecia a função “simplexml_load_file()”. Agora estou com php5 e funfou.
Outra coisa, como faço para mostrar por exemplo só as três últimas notícias do site?
Comentário por Augusto — 2, Junho 2008 #
Kra faz uma condição dentro do foreach
tipo…
$max = 3; /*$max e o numero de noticias q vc quer exibir*/
$cont = 0;
/*Codigo*/
foreach($xml->channel->item as $item){
if($cont < $max){
echo /*Codigo de exibição*/;
}
$cont++;
}
/*Codigo*/
Entendeu???
Se eu descobrir uma forma melhor posto aki…
Valeu mesmo!!!
Abraço
Comentário por maurocesarsl — 3, Junho 2008 #