Первая ошибка - просто отсутствующий атрибут, достаточно просто:
<rss version="2.0" ...>
Для <p>
и других HTML-элементов вам необходимо экранировать их. Файл должен выглядеть так:
<p>...
Есть и другие способы, но это самый простой способ. В PHP вы можете просто вызвать функцию для кодирования объектов.
$output .= htmlspecialchars(" <p>Paragraph</p> ");
Что касается проблемы с тегом <content>
, она должна быть <description>
. Тег <content>
в настоящее время генерирует две ошибки. Изменение его на <description>
в обоих местах должно исправить обе ошибки.
В противном случае, похоже, вы понимаете основы. Вы <open>
и </close>
теги, и те должны совпадать. Вы также можете использовать так называемые пустые теги: <empty/>
, которые существуют сами по себе, но не включают в себя контент и закрывающий тег.