使用SimpleXML读取RSS源时出现问题

时间:2010-10-11 17:36:11

标签: php xml codeigniter rss

我正在尝试阅读一个简单的Twitpic rss提要但没有太多运气。我看不出我的代码有什么问题,但是在使用print_r()

时它只返回以下内容
Array ( [title] => SimpleXMLElement Object ( ) )

这是我的代码:

function get_twitpics() {

    /* get raw feed */

    $url = 'http://www.twitpic.com/photos/Shealan/feed.rss'; 
    $raw = file_get_contents($url); 
    $xml = new SimpleXmlElement($raw);

    /* create array from feed items */

    foreach($xml->channel->item as $item) {

        $article = array();
        $article['title'] = $item->description;
    }

    return $article;
}

3 个答案:

答案 0 :(得分:4)

foreach($xml->channel->item as $item) {
    $article = array(); // so you want to erase the contents of $article with each iteration, eh?
    $article['title'] = $item->description;
}

如果您不仅仅对最后一个元素感兴趣,那么您可能需要查看for循环 - 即

$article = array();
foreach($xml->channel->item as $item) {
    $article[]['title'] = $item->description;
}

答案 1 :(得分:3)

如果您希望将数据作为特定类型,则需要明确键入它:

foreach($xml->channel->item as $item) {

    $article = array();
    $article['title'] = (string) $item->description;
}

答案 2 :(得分:1)

将以下内容明确指定为(字符串):

$item -> title
$item -> link
$item -> description