2008-10-05 63 views
1

我需要用PHP来获得一个RSS feed访问iTunes标签。我之前使用过simplepie作为播客供稿,但我不确定如何使用它获取iTunes标签。有没有办法使用simplepie来做到这一点,或者有更好的方法吗?PHP访问到iTunes标签RSS供稿


好吧我试过简单的XML。

这一切(下面的代码),似乎工作

$feed = simplexml_load_file('http://sbhosting.com/feed/'); 
$channel = $feed->channel; 
$channel_itunes = $channel->children('http://www.itunes.com/dtds/podcast-1.0.dtd'); 
$summary = $channel_itunes->summary; 
$subtitle = $channel_itunes->subtitle; 
$category = $channel_itunes->category; 
$owner = $channel_itunes->owner->name; 

现在我需要在iTunes类别。似乎有几种表现形式。 在这种情况下,我得到了如下XML:

<itunes:category text="Technology"/> 
<itunes:category text="Technology"> 
    <itunes:category text="Software How-To"/> 
</itunes:category> 

我希望能够与收获的人的类别是这样的:

$category_text = $channel_itunes->category['text']; 

但是,这似乎并没有工作。

我见过其他的方式来表示我真的不知道是谁弄的类别。

例如:

技术 业务 教育

这是媒体的事情或事物的iTunes或两者?

感谢您的帮助。 摹

回答

0

此代码的工作对我来说:

//$pie is a SimplePie object 
$iTunesCategories=$pie->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES,'category'); 
if ($iTunesCategories) { 
    foreach ($iTunesCategories as $iTunesCategory) { 
    $category=$iTunesCategory['attribs']['']['text']; 
    $subcat=$iTunesCategory['child']["http://www.itunes.com/dtds/podcast-1.0.dtd"]['category'][0]['attribs']['']['text']; 
    if ($subcat) { 
     $category.=":$subcat"; 
    } 
    //do something with $category 
    } 
} 
+0

道格, 首先,它是一个企业荣誉有你回答我的问题。我是你工作的忠实粉丝。 这段代码对我很好。 谢谢 Glenn – gbennett 2009-04-28 05:08:56

0

如果你有PHP5,使用简单的XML可以解析您需要的信息帮助。

+0

我不能得到这个工作。 – gbennett 2009-05-12 04:26:10