0
使用DomDocument獲取RSS提要,但遇到了奇怪的問題。如果我抓住一些像http://rss.slashdot.org/Slashdot/slashdot這樣的RSS feed,它可以正常工作。然而,我試圖解析的RSS源給我的問題:http://www.ryanhache.com/feedDOMDocument :: getElementsByTagName PHP中沒有抓取頻道
它似乎無法找到通道標記,然後通過該循環。我繼承的函數如下所示,並用RSS_Retrieve($ url)調用。我在這些功能中錯過了什麼,或者我正在拉動的Feed有什麼問題?
function RSS_Tags($item, $type)
{
$y = array();
$tnl = $item->getElementsByTagName("title");
$tnl = $tnl->item(0);
$title = $tnl->firstChild->textContent;
$tnl = $item->getElementsByTagName("link");
$tnl = $tnl->item(0);
$link = $tnl->firstChild->textContent;
$tnl = $item->getElementsByTagName("pubDate");
$tnl = $tnl->item(0);
$date = $tnl->firstChild->textContent;
$tnl = $item->getElementsByTagName("description");
$tnl = $tnl->item(0);
$description = $tnl->firstChild->textContent;
$y["title"] = $title;
$y["link"] = $link;
$y["date"] = $date;
$y["description"] = $description;
$y["type"] = $type;
return $y;
}
function RSS_Channel($channel)
{
global $RSS_Content;
$items = $channel->getElementsByTagName("item");
// Processing channel
$y = RSS_Tags($channel, 0); // get description of channel, type 0
array_push($RSS_Content, $y);
// Processing articles
foreach($items as $item)
{
$y = RSS_Tags($item, 1); // get description of article, type 1
array_push($RSS_Content, $y);
}
}
function RSS_Retrieve($url)
{
global $RSS_Content;
$doc = new DOMDocument();
$doc->load($url);
$channels = $doc->getElementsByTagName("channel");
$RSS_Content = array();
foreach($channels as $channel)
{
RSS_Channel($channel);
}
}
您的'http:// www.ryanhace.com/feed'網址似乎是404? – 2012-02-23 22:14:47
Bah拼錯了URL:http://www.ryanhache.com/feed – Jeff 2012-02-23 22:17:10
似乎沒問題。你的實際產出和預期產出是多少? – 2012-02-23 22:43:06