RSS Feed 无法工作:
我一直在编写一个简单的 PHP 脚本,该脚本应该生成 RSS Feed,从 MySQL 数据库中提取数据。
<?php
require("$_SERVER[DOCUMENT_ROOT]mysql.php");
$type = $_GET["type"];
$result = mysql_query("SELECT * FROM Setting WHERE Type = \"$type\"");
header("Content-Type: text/xml");
echo "
<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>
<rss version=\"2.0\">
<channel>
<title>Vhannibal – I migliori setting per Dreambox! – Feed RSS</title>
<link>http://www.vhannibal.net/</link>
<description>".$type."</description>
";
while ($row = mysql_fetch_array($result))
{
extract($row);
echo "
<item>
<title>$row[Name]</title>
<link>http://www.vhannibal.net/download_setting.php?id=$row[ID]</link>
<description>".strftime("%e %b", $row["Date"])."</description>
</item>
</channel>
</rss>
";
}
?>
问题是 出现在 PHP 脚本生成的不需要的空行之后,我认为这就是它的原因不起作用。我说得对吗?我该如何解决?谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的问题是 title 元素中的
–
实体在 xml 中无效(它是 html 定义的实体);只需使用“-”或使用十进制版本:‒
。另外,您需要将
channel
和rss
结束标记放在 while 循环之外。要删除第一个空行,只需替换
为
Your problem is the
–
entity in the title element which is not valid in xml (it's an html defined entity); just use "-" or use the decimal version:‒
.Also, you need to put the
channel
andrss
end tags outside of the while cycle.To get rid of the first blank line, just replace
with