我正在尝试添加<媒体:缩略图> 到我的RSS Feed,但在添加URL,WIDTH,HEIGHT等属性以及删除结束标记<时遇到问题/媒体:缩略图> 即可。该代码的来源来自here,我根据自己的需要进行了编辑,并按照解释here进行了添加。
if($results){ //we have records
while($row = $results->fetch_object()) //loop through each row
{
$item_node = $channel_node->appendChild($xml->createElement("item")); //create a new node called "item"
$title_node = $item_node->appendChild($xml->createElement("title", $row->cName)); //Add Title under "item"
$link_node = $item_node->appendChild($xml->createElement("link", "http://www.your-site.com/link/goes/here/")); //add link node under "item"
$root = $xml->createElementNS('image.png', 'media:thumbnail');
$root = $xml->appendChild($root);
//Unique identifier for the item (GUID)
$guid_link = $xml->createElement("guid", "http://www.your-site.com/link/goes/here/". $row->id);
$guid_link->setAttribute("isPermaLink","false");
$guid_node = $item_node->appendChild($guid_link);
}
}
输出:
<media:thumbnail xmlns:media="image.png"/>
<media:thumbnail xmlns:media="image.png"/>
<media:thumbnail xmlns:media="image.png"/>
<media:thumbnail xmlns:media="image.png"/>
<media:thumbnail xmlns:media="image.png"/>
<media:thumbnail xmlns:media="image.png"/>
输出应该如下所示,但我不能再做任何事了,因为开始已经不起作用了。
<media:thumbnail url="http://www.foo.com/keyframe.jpg" width="75" height="50" time="12:05:01.123" />
答案 0 :(得分:1)
确保已在RSS文档中添加允许媒体的名称空间属性:缩略图节点:
$rss_node->setAttribute("xmlns:media","http://search.yahoo.com/mrss/")
这里假设您使用变量名称&#34; $ rss_node&#34;保持调用appendChild的结果以将rss数据附加到xml文档。
然后处理从数据库中提取的数据行中的缩略图。替换这个:
$root = $xml->createElementNS('image.png', 'media:thumbnail');
$root = $xml->appendChild($root);
有了这个:
$thumbnail_node = $xml->createElement("media:thumbnail");
$thumbnail_node->setAttribute( "URL", "http://www.foo.com/keyframe.jpg");
$thumbnail_node->setAttribute( "width", "75");
$thumbnail_node->setAttribute( "height", "75" );
$thumbnail_node->setAttribute( "time", "12:05:01.123");
$thumbnail_node = $item_node->appendChild($thumbnail_node);
当然,将setAttribute中的文字值更改为将提供您想要呈现的实际数据的变量或文字。
以下是该细分实际产生的内容:
<media:thumbnail URL="http://www.foo.com/keyframe.jpg" width="75" height="75" time="12:05:01.123"/>