Почему не работает RSS

seosniks
На сайте с 13.08.2007
Offline
389
2717

Ошибка!

Ошибка разбора XML

Ошибка разбора XML: синтаксическая ошибка (Строка: 1, Символ: 0)

Обработать документ как HTML

Ошибка:missing root element

Описание:http://www.w3.org/TR/REC-xml/

1: <?xml version=1.0 encoding=UTF-8?>

2: <rss version=2.0>

3: <channel>

4: <title>Жест</title>

сам код

<?php

header("Content-Type: application/rss+xml");
$tmp=<<<EOFF
<?xml version=1.0 encoding=UTF-8?>
<rss version=2.0>
<channel>
<title>Жест</title>
<link>tn.ru</link>
<description>текст..</description>
<pubDate>Mon, 01 Dec 2008 00:00:00 +0600</pubDate>
</item></channel>
</rss>
EOFF;
echo $tmp;
?>

Пробовал разные варианты. Даже пробовал сохранить ленту с сайта 3akkorda.ru/rss.php

на сайте пашет сохраненная не пашет. Может Опера Глючит?

Может у кого есть рабочий скриптик чтоб сделать ленту RSS

хотя если расширение файла html то похоже работает.

ewg777
На сайте с 04.06.2007
Offline
225
#1

<?php

header("Content-Type: text/xml");
$tmp=<<<XML
<?xml version=1.0 encoding=UTF-8?>
<rss version=2.0>
<channel>
<title>Жест</title>
<link>tn.ru</link>
<description>текст..</description>
<pubDate>Mon, 01 Dec 2008 00:00:00 +0600</pubDate>
</item></channel>
</rss>
XML;
echo $tmp;
?>

А так?

grey109
На сайте с 15.06.2005
Offline
180
#2

Рабочий вариант для Яндекс.Новости:

<?php

header("Content-Type: text/xml");

header("Pragma: no-cache");

echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>\r\n";

?>

<rss version="2.0"

xmlns="http://backend.userland.com/rss2"

xmlns:yandex="http://news.yandex.ru">

<channel>

<title>***</title>

<link>http://www.ru/</link>

<description>***</description>

<image>

<url>http://www.ru/images/design/logo.gif</url>

<title>***</title>

<link>http://www.ru</link>

</image>

тут в цикле вывод данных

<?php

echo " <item>

<title>".$header."</title>

<link>http://www.ru/material.php?id=".$id."</link>

<description>".$smartcomment."</description>

<author>".$author."</author>

<category>Новости</category>

<pubDate>".date('r',$ut)."</pubDate>

<yandex:full-text>".$smartcomment." ".$fulltext1."</yandex:full-text>

</item>\r\n";

?>

</channel>

</rss>

seosniks
На сайте с 13.08.2007
Offline
389
#3
grey109:
Рабочий вариает для Яндекс.Новости:

Работает без ошибок, правда не вывел ничего.Но это мелочи 🍻

seosniks добавил 16.04.2009 в 23:18

ewg777:
<?php 

header("Content-Type: application/rss+xml");
$tmp=<<<XML
<?xml version=1.0 encoding=UTF-8?>
<rss version=2.0>
<channel>
<title>Жест</title>
<link>tn.ru</link>
<description>текст..</description>
<pubDate>Mon, 01 Dec 2008 00:00:00 +0600</pubDate>
</item></channel>
</rss>
XML;
echo $tmp;
?>

А так?

выдает ошибку

<?xml version=1.0 encoding=UTF-8?>

grey109
На сайте с 15.06.2005
Offline
180
#4
seosniks:
Работает без ошибок, правда не вывел ничего.Но это мелочи

Потому как у тебя переменные типа $header не определены. Перед

echo " <item>

добавь

$header = "заголовок новости";

$smartcomment = "анонс";

и т.д.

и будет тебе осмысленый пример.

zhidronsss
На сайте с 12.10.2007
Offline
36
#5

перед <?xml version=1.0 encoding=UTF-8?> знак ввода получается, его надо убрать

вот это работает

<?php
header("content-type: application/rss+xml");

...

echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>
<rss version=\"2.0\">
<channel>
<title>".$zagolovok_l."</title>
<link>".$link_l."</link>
<description>".$description_l."</description>
<language>ru</language>";

echo "<item>";
echo "<title>".$zagolovok."</title>";
echo "<link>".$link."</link>";
echo "<description><![CDATA[ ".$description." ]]></description>";
echo "<pubDate>".$updt."</pubDate>";
echo "<guid>".$link."</guid>";
echo "</item>";
echo "</channel>
</rss>";

?>

пример http://umbrella.by/rss/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий