XML-рендеринг Google Chrome в виде текста для RSS-канала

У меня есть этот скрипт для создания XML-файла для RSS-канала. Отлично работает в каждом браузере, кроме 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 MYH:i:s O", strtotime($date)) . '</pubDate>'; $rssfeed .= '</item>'; } $rssfeed .= '</channel>'; $rssfeed .= '</rss>'; echo $rssfeed; ?> 

Это известная ошибка в хроме, которая еще не исправлена, chrome не отображает XML-ленты XML без какого-либо форматирования.

Обновление. Теперь для Chrome есть расширение подписки / чтения RSS .

У меня была такая же проблема, и я использовал «application / xml», и я исправил ее. Chrome не нравится «application / rss + xml».

Итог, поддержка RSS не используется «большинством» пользователей, и поэтому они только реализуют ее как расширение, на данный момент. Расширение доступно здесь: RSS SubscriptionExtension

Подробное обсуждение этого вопроса в заключительном комментарии к ошибке – вы можете прочитать примечания разработчика здесь: Комментарий 149

Попробуйте изменить заголовок на text/xml и посмотрите, помогает ли он:

 header("Content-Type: text/xml; charset=ISO-8859-1"); 

попробуйте расширение chrome "XML Tree"

Краткий ответ: добавьте «view-source: {feedurl}»

Обратите внимание, что когда URL-адрес заканчивается на .xml и распознается как хром, Chrome досадно открывает диалог Save File. Но многие каналы подачи не заканчиваются расширением (например .xml), например:

 http://feeds.feedburner.com/ScottHanselman 

В корне этот url по-прежнему является регулярным корнем xml, но для нас, кодеров, которые просто хотят увидеть настоящий xml, Chrome и другие в этом случае показывают вам удобное для чтения отображение фида (очень раздражает!).

Таким образом, ответ на обе эти проблемы содержится в комментарии выше, данном Арне Roomann-Kurrik. Он должен был сказать это как ответ, потому что он работает!

view-source: http: //feeds.feedburner.com/ScottHanselman Вам даже не нужно «http: //».