2012-04-28 12 views
0

RSSフィードから1つの項目だけを解析しようとしています。基本的に、私はRSSフィードから最新の/最後のアイテムを取得しようとしているし、フィード全体を解析していません。今私はこのコードを持っています:PHPでRSSフィードの項目を1つだけ解析する

$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; 
} 

しかし、これはすべての項目をループします。私はすべての要素/アイテムを必要としません。私はちょうどフィードの最新/最後の項目が必要です。どうすればこれを達成できますか?次のコードは動作しますか?

$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が欠落し)。 –

答えて

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

関連する問題