0

私は次のものを持っています:

<?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;「リンク」という単語は、下の画像に示すように、私のエディターでは紫色であるため、ここでは「予約語」である可能性があります。

img

私はここで何が間違っているのですか?

4

2 に答える 2

1

IDEがその紫色を強調表示している理由はわかりませんが、ここに問題があります。

$newsStory = $ConvertToXml->channel;

次のように変更する必要があります:

$newsStory = $ConvertToXml->channel->item;

RSSフィードの各エントリは<item>タグ内にあるため、実際のフィードエントリのエントリをループする必要があります。

于 2012-07-16T22:45:51.890 に答える
0

色分けはしばしばこの問題に悩まされます。この単語はプロパティ名として使用されているため(で示されているように->)、文字通り何でもかまいません。この場合、予約語はありません。

var_dump(count($newsStory))ループする要素がいくつあるかを正確に確認できるようにすることをお勧めします。の場合は、変数1に問題がある可能性があります。それも可能です。$newsStoryvar_dump

于 2012-07-16T22:44:22.647 に答える