hitech Postado Outubro 5, 2007 Denunciar Share Postado Outubro 5, 2007 Estou usando o seguinte código para fazer o parse e exibir os feeds RSS:<?php // ***** BEGIN ***** get the q parameter from URL ***** BEGIN ***** $q=$_GET["q"];//find out which feed was selected if($q=="Google") { $xml=("http://rss.terra.com.br/0,,EI1,00.xml"); } elseif($q=="MSNBC") { $xml=("http://feeds.folha.uol.com.br/folha/emcimadahora/rss091.xml"); } $xmlDoc = new DOMDocument(); $xmlDoc->load($xml); // ***** BEGIN ***** get elements from "<channel>" ***** BEGIN ***** $channel=$xmlDoc->getElementsByTagName('channel')->item(0); $channel_title = $channel->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue; $channel_link = $channel->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue; $channel_desc = $channel->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue; //***** BEGIN ***** output elements from "<channel>" ***** BEGIN ***** echo("<p><a href='" . $channel_link . "'>" . $channel_title . "</a>"); echo("<br />"); echo($channel_desc . "</p>"); // ***** BEGIN ***** get and output "<item>" elements ***** BEGIN ***** $x=$xmlDoc->getElementsByTagName('item'); for ($i=0; $i<=15; $i++) { $item_title=$x->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue; $item_link=$x->item($i)->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue; $item_desc=$x->item($i)->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue; echo ("<p><a href='" . $item_link . "'>" . $item_title . "</a>"); echo ("<br />"); echo ($item_desc . "</p>"); echo("<hr>"); }?>O problema é que o laço for ($i=0; $i<=15; $i++) exibe apenas o número de itens especificado (no caso, 15 itens).Como faço para exibir todos os itens do RSS?Obrigado,Hélcio Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
hitech
Estou usando o seguinte código para fazer o parse e exibir os feeds RSS:
<?php
// ***** BEGIN ***** get the q parameter from URL ***** BEGIN *****
$q=$_GET["q"];//find out which feed was selected
if($q=="Google")
{
$xml=("http://rss.terra.com.br/0,,EI1,00.xml");
}
elseif($q=="MSNBC")
{
$xml=("http://feeds.folha.uol.com.br/folha/emcimadahora/rss091.xml");
}
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
// ***** BEGIN ***** get elements from "<channel>" ***** BEGIN *****
$channel=$xmlDoc->getElementsByTagName('channel')->item(0);
$channel_title = $channel->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
$channel_link = $channel->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue;
$channel_desc = $channel->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue;
//***** BEGIN ***** output elements from "<channel>" ***** BEGIN *****
echo("<p><a href='" . $channel_link . "'>" . $channel_title . "</a>");
echo("<br />");
echo($channel_desc . "</p>");
// ***** BEGIN ***** get and output "<item>" elements ***** BEGIN *****
$x=$xmlDoc->getElementsByTagName('item');
for ($i=0; $i<=15; $i++)
{
$item_title=$x->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
$item_link=$x->item($i)->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue;
$item_desc=$x->item($i)->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue;
echo ("<p><a href='" . $item_link . "'>" . $item_title . "</a>");
echo ("<br />");
echo ($item_desc . "</p>");
echo("<hr>");
}
?>
O problema é que o laço for ($i=0; $i<=15; $i++) exibe apenas o número de itens especificado (no caso, 15 itens).
Como faço para exibir todos os itens do RSS?
Obrigado,
Hélcio
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.