Google Chrome将XML呈现为RSS Feed的文本

时间:2009-11-01 07:03:29

标签: php xml rss google-chrome

我有这个脚本来生成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>&copy; ' . 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;

?>

6 个答案:

答案 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://”。