2015-11-02 131 views
0

我有这样的代码,它的伟大工程XML在PHP(RSS阅读器)

$i = 0; // counter 
$url = "http://www.banki.ru/xml/news.rss"; // example url to parse 
$rss = simplexml_load_file($url); // XML parser 
print '<h2><img style="vertical-align: middle;" src="'.$rss->channel->image->url.'" /> '.$rss->channel->title.'</h2>'; // channel title + img with src 

foreach($rss->channel->item as $item) { 
if ($i < 1) { // parse only 1 item 
print '<a href="'.$item->link.'">'.$item->title.'</a><br />'; 
} 

$i++; 
} 

但我想从这个饲料只显示第二个项目。我如何做到这一点?

回答

3

更改此

if ($i < 1) { // parse only 1 item 
print '<a href="'.$item->link.'">'.$item->title.'</a><br />'; 
} 

if ($i == 1) { // parse only 1 item 
print '<a href="'.$item->link.'">'.$item->title.'</a><br />'; 
} 
+0

非常感谢您的帮助。它的工作非常出色。 – mrfox

+0

@mrfox,如果这是解决您的问题,请考虑upvote并将此答案标记为正确:) – swidmann

0

尝试:

$i = 0; // counter 
$url = "http://www.banki.ru/xml/news.rss"; // example url to parse 
$rss = simplexml_load_file($url); // XML parser 
print '<h2><img style="vertical-align: middle;" src="'.$rss->channel->image->url.'" /> '.$rss->channel->title.'</h2>'; // channel title + img with src 

print '<a href="'.$rss->channel->item[1]->link.'">'.$rss->channel->item[1]->title.'</a><br />'; 
0

只要改变条件,如果它可以把你的第二届

<?php 
 

 
$i = 0; // counter 
 
$url = "http://www.banki.ru/xml/news.rss"; // example url to parse 
 
$rss = simplexml_load_file($url); // XML parser 
 
print '<h2><img style="vertical-align: middle;" src="'.$rss->channel->image->url.'" /> '.$rss->channel->title.'</h2>'; // channel title + img with src 
 

 
foreach($rss->channel->item as $item) { 
 
if ($i > 1) { // parse only 1 item 
 
print '<a href="'.$item->link.'">'.$item->title.'</a><br />'; 
 
} 
 

 
$i++; 
 
}