我有这个脚本来生成RSS源的XML文件。除了Chrome之外,每个浏Chrome只是将XML呈现为文本。可能与header("Content-Type: application/rss+xml; charset=ISO-8859-1");
有什么关系?
这是我正在使用的代码:
<?php
$linkUp = "http://localhost/sites/myBlog/";
header("Content-Type: application/rss+xml; charset=ISO-8859-1");
$rssfeed = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$rssfeed .= '<rss version="2.0">';
$rssfeed .= '<channel>';
$rssfeed .= '<title>Mytitle</title>';
$rssfeed .= '<link>' . $linkUp . '</link>';
$rssfeed .= '<description>Mydescription</description>';
$rssfeed .= '<language>en-us</language>';
$rssfeed .= '<copyright>© ' . strftime('%Y') . ' . " " . ' . $linkUp . '</copyright>';
$query = "SELECT * FROM rss";
$result = $db->query($query);
while($row = $db->fetch_array($result)) {
$rssfeed .= '<item>';
$rssfeed .= '<title>' . $row['rss_title'] . '</title>';
$rssfeed .= '<description>' . $row['rss_description'] . '</description>';
$rssfeed .= '<link>' . $row['rss_link'] . '</link>';
$rssfeed .= '<pubDate>' . date("D, d M Y H:i:s O", strtotime($date)) . '</pubDate>';
$rssfeed .= '</item>';
}
$rssfeed .= '</channel>';
$rssfeed .= '</rss>';
echo $rssfeed;
?>
答案 0 :(得分:26)
Chrome中的known bug尚未修复,Chrome不会显示任何格式的xml RSS Feed。
更新:Chrome现在有RSS subscription / reader extension。
答案 1 :(得分:5)
我遇到了同样的问题而且我使用了“application / xml”并将其修复了。 Chrome不喜欢“application / rss + xml”。
答案 2 :(得分:2)
总的来说,RSS支持并非由“大多数”用户使用,因此他们现在只将其作为扩展实现。扩展程序可在此处获得: RSS SubscriptionExtension
关于错误的结束评论对此进行了详细讨论 - 您可以在此处阅读开发者说明: Comment 149
答案 3 :(得分:1)
尝试将标题更改为text/xml
并查看是否有帮助:
header("Content-Type: text/xml; charset=ISO-8859-1");
答案 4 :(得分:1)
尝试使用chrome扩展“XML Tree”
答案 5 :(得分:0)
简短回答:添加“view-source:{feedurl}”
请注意,当网址以.xml结尾并被Chrome识别为Feed时,Chrome会恼怒地打开“保存文件”对话框。但是许多提要网址并不以扩展名(即.xml)结尾,例如:
http://feeds.feedburner.com/ScottHanselman
从根本上说,该网址仍然是常规的xml Feed,但对于我们只想看到真正的xml的编码人员,Chrome和其他人在这种情况下会向您展示一个人类可读的Feed显示(非常烦人!)
因此,这些问题的两个的答案都包含在Arne Roomann-Kurrik给出的上述评论中。他应该把它作为答案,因为它有效!
视图-出处:http://feeds.feedburner.com/ScottHanselman 你甚至不需要“http://”。