如何将图像标记插入XML文件?

时间:2013-03-27 17:51:52

标签: php xml

我使用以下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文件?是否有任何其他标签或方法来进行图像处理?

2 个答案:

答案 0 :(得分:0)

请尝试转义图像标记中的特殊字符。

htmlspecialchars

上使用$result_array[picture]

此外,您是否可以在此处显示您的RSS Feed样本,以便答案更加准确。

答案 1 :(得分:0)

我建议在XML转义结构中包含数据 - 如下:

<image>
    <url><![CDATA[ imagedatagoeshere ]]></content></url>
</image>

但是,我不熟悉simplepie,所以我不知道是否能正确理解CDATA。