2012-04-13 5 views
2

Ich versuche den "itunes RSS Feed" zu lesen. Soweit ich weiß, ist es ATOM basiert.Zend_Feed Zugangsartikel - ATOM

Adaequat:

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

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

Aber ich brauche den folgenden Knoten:

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

eine Ahnung, wie dieses Futter mit zend zugreifen ??

Antwort

3

Wie jeder anderen ATOM-Feed, Sie über es so laufen können:

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

Beachten Sie die Verwendung von registerXPathNamespace() hier, wie es scheint, dass iTunes verwendet Namespace in ihrem Futter, das ist der Grund, warum Sie brauchen Registrieren Sie es zuerst.

Versuchen Sie dies und lassen Sie mich wissen, ob es funktioniert.

1

Danke für die „Namespace“ Hinweis:

Endlösung:

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

Im Grunde das gleiche, was ich :) Danke trotzdem für die endgültige Lösung beantwortet. – Liyali