php - 如何从 iTunes 中读取 RSS 图像标签

标签 php xml rss

我尝试阅读我的 iTunes RSS。我可以阅读标题,甚至是 itunes:subtitle,但标签图像有问题。

进纸:

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">

<channel>
<title>title of the podcast</title>  
<itunes:image href="http://www.MyWeb/myImg.png"/>
</channel>
</rss>

PHP:

$xml=("http://www.myWeb/rss.xml");
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);

$channel=$xmlDoc->getElementsByTagName('channel')->item(0);

$channel_title = $channel->getElementsByTagName('title')//normal tag
->item(0)->childNodes->item(0)->nodeValue;

$channel_image = $channel->getElementsByTagName('image') //problem
->item(0)->childNodes->item(0)->nodeValue;

echo $channel_title . '<br>';
echo $channel_image . '<br>';

最佳答案

您可以使用 SimpleXML。因为 image 元素有一个命名空间前缀(itunes),你必须使用 children 方法传递命名空间 URL,然后调用 attributes方法:

$feed = simplexml_load_file('http://www.myWeb/rss.xml');
foreach ($feed->channel as $channel) {
  $ns_itunes = $channel->children('http://www.itunes.com/dtds/podcast-1.0.dtd');
  echo $ns_itunes->image->attributes();
}

关于php - 如何从 iTunes 中读取 RSS 图像标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25565830/

相关文章:

php - 如何检查各个列中 mysql 查询的最后 2 个条目是否具有相同的值?

html - 基本的 html/css 布局不起作用

java - 无法将一个节点添加到另一个节点

javascript - 导致问题的异步 url 验证

ubuntu - Pear PHP_Beautifier 不返回任何输出

PHP MYSQL 根据日期月份获取列

php - 在动态 PHP 到 XML 脚本中正确转义 &

.NET 3.5 SP1 中的 XmlSerializer 更改

ios - rss 提要中的 WebView 无法正常工作

java - 如何将这些类包装到AsyncClass中然后使用它们?