我有以下内容:
<?php
#Load in File
$xmlUrl ="http://sports.espn.go.com/espn/rss/mlb/news";
$ConvertToXml = simplexml_load_file($xmlUrl);
# -> Setup XML
$newsStory = $ConvertToXml->channel;
# -----> Load News Stories
for($i = 0;$i<sizeof($newsStory); $i++){
// Source of Article Info-->
$SrcTitle=$newsStory[$i]->title;
$SrcLink=$newsStory[$i]->link;
// Actual News Article Info -->
$title=$newsStory[$i]->item->title;
$desc=$newsStory[$i]->item->description;
echo '<hr>';
echo '<strong>'.'Title:'.$title.'</strong>'.'(via: <a href=\''.$SrcLink.'\'>'.$SrcTitle.'</a>'.'<br />';
//echo 'Link:'.$link.'<br />';
echo 'Description'.$desc.'<br>';
echo '<hr>';
}
当输出大约10个结果时,它只输出1个结果......
这一行:$SrcLink=$newsStory[$i]->link;
“链接”字在这里可能是一个“保留”字,因为它在我的编辑器上是紫色的,如下图所示:
我在这里做错了什么?
答案 0 :(得分:1)
不确定为什么你的IDE突出显示紫色,但问题出在此处:
$newsStory = $ConvertToXml->channel;
需要更改为:
$newsStory = $ConvertToXml->channel->item;
RSS Feed中的每个条目都在&lt; item&gt;中。标记,因此您需要循环显示实际Feed条目。
答案 1 :(得分:0)
颜色编码经常遇到这个问题。由于该单词被用作属性名称(如->
所示),因此它几乎可以是任何东西 - 在这种情况下没有保留字。
我建议var_dump(count($newsStory))
,这样你就可以确切地看到有多少元素要循环。如果是1
,那么您的$newsStory
变量可能存在问题 - 您也可以var_dump
。