Php Zend_提要访问项-ATOM
我正在阅读“itunes RSS提要”。据我所知,它是基于原子的 工作正常:Php Zend_提要访问项-ATOM,php,zend-framework,zend-feed,Php,Zend Framework,Zend Feed,我正在阅读“itunes RSS提要”。据我所知,它是基于原子的 工作正常: $feed = $this->getFeed(self::TOP300_PAYED); foreach ($feed as $item) { echo $item->name; } 但我需要以下节点: <im:image height="53"> http://a3.mzstatic.com/us/r1000/116/Purple/61/9b/f2/m
$feed = $this->getFeed(self::TOP300_PAYED);
foreach ($feed as $item) {
echo $item->name;
}
但我需要以下节点:
<im:image height="53">
http://a3.mzstatic.com/us/r1000/116/Purple/61/9b/f2/mzl.wyuzxxzw.53x53-50.png
</im:image>
http://a3.mzstatic.com/us/r1000/116/Purple/61/9b/f2/mzl.wyuzxxzw.53x53-50.png
您知道如何使用zend feed访问它吗?与其他ATOM feed一样,您可以像这样对其进行迭代:
$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";
}
}
注意这里的用法,似乎iTunes在其提要中使用了名称空间,这就是您需要首先注册它的原因
试试这个,让我知道它是否有效。像任何其他ATOM提要一样,您可以像这样迭代它:
$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";
}
}
注意这里的用法,似乎iTunes在其提要中使用了名称空间,这就是您需要首先注册它的原因
试试这个,让我知道它是否有效。谢谢“名称空间”提示:
最终解决方案:
$item->registerXPathNamespace('im', 'image');
$image = (string) $item->image[0]; // first image "52"
感谢“名称空间”提示:
最终解决方案:
$item->registerXPathNamespace('im', 'image');
$image = (string) $item->image[0]; // first image "52"
基本上和我回答的一样:)无论如何谢谢你的最终解决方案。基本上和我回答的一样:)无论如何谢谢你的最终解决方案。