rss feed not display

问题描述:

我正在尝试创建一个显示我所有消息的rss feed。 到目前为止,代码似乎是在那里的一半,因为如果我查看页面源,所有的内容都存在,但实际页面上没有任何内容显示。rss feed not display

这里是我的代码rss.php

<?php 
ini_set('display_errors', 1); 
header("Content-type: text/xml"); 

include("config.php"); 
global $NEWS; 
$str = '<?xml version="1.0" encoding="utf-8"?>'; 
$str.= '<rss version="2.0">'; 
$str.='<channel>'; 
$sql = "SELECT * FROM $NEWS"; 

$result = mysql_query($sql) or die ($sql."".mysql_error()); 

while($row = mysql_fetch_object($result)){ 
    $str.= '<item>'; 
    $str.=' <a href="'.getSEOLink(13).'&article='.$row->id.'">'; 
    $str.= '<title>'.$row->title.'</title></a>'; 
    $str.= '<description><![CDATA['.$row->content. ']]></description>'; 
    $str.= '</item>'; 
} 

$str .='</channel>'; 
$str .='</rss>'; 
echo $str; 
?> 
+0

你介意把这个url发布到feed吗?这将更容易调试! –

+0

目前它在我的本地主机 – user3095193

为什么不利用的SimpleXMLElementasXML

<?php 
ini_set('display_errors', 1); 
include("config.php"); 
global $NEWS; 

$str='<channel>'; 
$sql = "SELECT * FROM $NEWS"; 

$result = mysql_query($sql) or die ($sql."".mysql_error()); 

while($row = mysql_fetch_object($result)){ 
    $str.= '<item>'; 
    $str.=' <a href="'.getSEOLink(13).'&article='.$row->id.'">'; 
    $str.= '<title>'.$row->title.'</title></a>'; 
    $str.= '<description><![CDATA['.$row->content. ']]></description>'; 
    $str.= '</item>'; 
} 

$str .='</channel>'; 

$xml=new SimpleXMLElement($str); 
echo $xml->asXML(); 
+0

我试过了,我最终得到了一些错误 – user3095193

+0

我可以知道错误吗? –

+0

有没有另一种方法可以告诉你。当我把它放在这里,它告诉我,这是很长的 – user3095193

你显然产生有效的XML(因此你的浏览器不抱怨),但不是有效的RSS(因而饲料的读者将无法读取你的东西)。例如,<a>不是有效的RSS标签,并且绝对不是<item>的子项。

复制生成的 XML(不是PHP源代码)并使用您最喜欢的RSS验证器(例如W3C Feed Validation Service)对其进行验证。