我使用以下php代码创建XML文件:
echo '<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
<channel>
<title>mytitle</title>
<description>my description</description>
<link>www.mysite.com</link>';
$sql = "SELECT title, description, url, picture, formatted_date
FROM somewhere" ;
$result = mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
if(mysql_num_rows($result)>0)
{
while($result_array = mysql_fetch_assoc($result))
{
//timestamp date to xml format
$pubdate = date('D, d M Y H:i:s O', strtotime($result_array[formatted_date]));
echo '
<item>
<title>'.$result_array[title].'</title>
<description>'.$result_array[description].'</description>
<link>'.$result_array[indit_url].'</link>
<pubDate>'.$pubdate.' GMT</pubDate>
<enclosure url="'.$result_array[picture].'" length="1121990" type="image"/>
<image>
<url>'.$result_array[picture].'</url>
<title>image title</title>
<link>'.$result_array[picture].'</link>
<width>111</width>
<height>33</height>
<description>An amazing picture</description>
</image> </item>';
使用http://validator.w3.org/正确验证创建的文件,但是当我尝试使用某些xml解析器时:http://simplepie.org/,perser无法捕获图像。我使用正确的标签将图像插入xml文件?是否有任何其他标签或方法来进行图像处理?
答案 0 :(得分:0)
请尝试转义图像标记中的特殊字符。
在htmlspecialchars
$result_array[picture]
此外,您是否可以在此处显示您的RSS Feed样本,以便答案更加准确。
答案 1 :(得分:0)
我建议在XML转义结构中包含数据 - 如下:
<image>
<url><![CDATA[ imagedatagoeshere ]]></content></url>
</image>
但是,我不熟悉simplepie,所以我不知道是否能正确理解CDATA。