2013-02-25 159 views
0

嘗試使用SimpleXMLElement來獲取RSS源,但我不完全瞭解如何執行此操作。我的代碼如下:PHP - 如何使用SimpleXMLElement

function getFeed($feed_url) { 

    $content = file_get_contents($feed_url); 
    $x = new SimpleXmlElement($content); 
    var_dump($x); 

} 

getFeed("http://feedproxy.google.com/themeforest"); 

它輸出以下:

object(SimpleXMLElement)#1 (2) { ["HEAD"]=> object(SimpleXMLElement)#2 (1) { ["TITLE"]=> string(17) "Moved Permanently" } ["BODY"]=> object(SimpleXMLElement)#3 (3) { ["@attributes"]=> array(2) { ["BGCOLOR"]=> string(7) "#FFFFFF" ["TEXT"]=> string(7) "#000000" } ["H1"]=> string(17) "Moved Permanently" ["A"]=> string(4) "here" } }

我試圖改變上面這是我的代碼,但比它什麼也不輸出,我得到一個foreach錯誤:

function getFeed($feed_url) { 

    $content = file_get_contents($feed_url); 

    $x = new SimpleXmlElement($content); 
    echo ' 
     <ul>'; 

    foreach($x->channel->item as $entry) { 
     echo ' 
     <li> 
      <a href="' . $entry->link . '" title="' . $entry->title . '">' . $entry->title . '</a> 
     </li>'; 
    } 

    echo ' 
     </ul>'; 

} 

getFeed("http://feedproxy.google.com/themeforest"); 

有人可以告訴我究竟是我在這裏做錯了什麼?

回答

0

它不能像對象一樣訪問。請閱讀這裏的第一個例子: http://www.php.net/manual/en/simplexmlelement.children.php

+0

我想創建一個安裝程序,用戶在RSS提要的URL中鍵入內容,並自動將提要信息標題和鏈接輸出到他們網站的一部分。我將如何能夠獲取這些信息。使用孩子?但更重要的是,我如何能夠區分正常輸出和我是否需要搜索孩子......? – 2013-02-25 22:08:15

+0

那麼,美元的內容是什麼樣子? – mavrosxristoforos 2013-02-25 22:11:57

+0

OMG,RSS Feeds網址被移到了另一個鏈接,所以OMG,我沒有注意到這一點,並把錯誤的RSS源網址。它適用於新的url,它是:'http://feeds.feedburner.com/themeforest'謝謝,主題已解決! – 2013-02-25 22:18:59