2012-04-28 47 views
0

我想解析一個rss提要的項目。基本上,我試圖從rss提要中獲取最新/最後一個項目,而不是分析整個提要。現在我有這個代碼:用PHP解析RSS源中的一個項目

$x=$xmlDoc->getElementsByTagName('item'); 
for ($i=0; $i<=2; $i++) 
{ 
$item_title=$x->item($i)->getElementsByTagName('title') 
->item(0)->childNodes->item(0)->nodeValue; 
$item_link=$x->item($i)->getElementsByTagName('link') 
->item(0)->childNodes->item(0)->nodeValue; 
$item_desc=$x->item($i)->getElementsByTagName('description') 
->item(0)->childNodes->item(0)->nodeValue; 
} 

但是,這遍歷所有項目。我不需要所有的元素/項目。我只需要Feed上的最新/最後一項。我怎樣才能做到這一點?下面的代碼會起作用嗎?

$x=$xmlDoc->getElementsByTagName('item'); 
$item_title=$x->item->getElementsByTagName('title') 
->item(0)->childNodes->item(0)->nodeValue; 
$item_link=$x->item->getElementsByTagName('link') 
->item(0)->childNodes->item(0)->nodeValue; 
$item_desc=$x->item->getElementsByTagName('description') 
->item(0)->childNodes->item(0)->nodeValue; 

感謝您的幫助!

+0

錯字在第二個版本:getElement(S)ByTagName(缺少S)。 – 2012-04-28 15:22:24

回答

0

我已經想通了:

$x=$xmlDoc->getElementsByTagName('item'); 
$item_title=$x->item(0)->getElementsByTagName('title') 
->item(0)->childNodes->item(0)->nodeValue; 
$item_link=$x->item(0)->getElementsByTagName('link') 
->item(0)->childNodes->item(0)->nodeValue; 
$item_desc=$x->item(0)->getElementsByTagName('description') 
->item(0)->childNodes->item(0)->nodeValue; 
+0

您需要接受您自己的答案,以便完成此問題的標記 – random 2012-05-28 02:59:16