2012-04-13 14 views
2

"itunes RSS Feed"を読もうとしています。私が知っている限り、それはATOMベースです。Zend_Feedアクセスアイテム - ATOM

作品罰金:

$feed = $this->getFeed(self::TOP300_PAYED); 

    foreach ($feed as $item) { 
     echo $item->name; 
    } 

しかし、私は、次のノードが必要ですZendのフィードでこれにアクセスする方法を

<im:image height="53"> 
http://a3.mzstatic.com/us/r1000/116/Purple/61/9b/f2/mzl.wyuzxxzw.53x53-50.png 
</im:image> 

任意のアイデアを?他のATOMフィードと同様に

答えて

3

、あなたはこのようにそれを反復処理することができます。

$feed = new Zend_Feed_Atom("example.com"); 
    foreach ($feed as $entry) { 
     $xml = $entry->saveXml(); 
     $xmlObj = simplexml_load_string($xml); 

     $xmlObj->registerXPathNamespace('im', "example.com"); 
     $result = $xmlObj->xpath('//im:image'); 

     foreach ($result as $image) { 
      echo $image . "\n"; 
     } 
    } 

はここregisterXPathNamespace()の使用に注意してください、それはiTunesが自分のフィードに名前空間を使用しているようだ、これはあなたがする必要がある理由です最初に登録してください。

これを試して、動作しているかどうか教えてください。 「名前空間」のヒントのための

1

ありがとう:

最終的な解決策:私は最終的な解決のために:)とにかく感謝答え

 $item->registerXPathNamespace('im', 'image'); 
     $image = (string) $item->image[0]; // first image "52" 
+2

基本的には同じこと。 – Liyali