Есть ли чистый способ определения версии RSS?

Можно ли определить тип и версию фида таким образом, чтобы убедиться, что у вас правильная версия. На самом низком уровне, так сказать. Пространства имен - это очевидный подход, но его нет для многих каналов.

Какие-нибудь мысли?

(Я пытаюсь смешать различные RSS-каналы).

Заранее благодарю за любую помощь!

3 ответа

Учитывая количество вариантов, количество людей, смешивающих пространства имен (обычно для использования полного элемента контента в версии RSS, в которой его нет), и количество недопустимых каналов.

Нет. Вам было бы лучше просто получить хорошую библиотеку для разбора фидов и позволить ей абстрагироваться от всех проблем с версиями и создать чистый фид Atom из данных, которые вы извлекаете из него.

Я не знаю чистого пути. Проверьте этот вопрос для ряда подходов.

Zend_Feed_Reader выглядит интересно ИМО. Возможно, можно попытаться получить версию фида с этим.

Взгляните на библиотеку ROME http://rollerweblogger.org/roller/resource/rome-logo.png.

Он может анализировать различные каналы и версии синдикации RSS и ATOM и отправлять любой формат / версию канала синдикации.

ROME - это набор инструментов Java с открытым исходным кодом для разбора, создания и публикации каналов RSS и Atom. Основная библиотека ROME зависит только от синтаксического анализатора JDOM XML и поддерживает синтаксический анализ, генерацию и преобразование всех популярных форматов RSS и Atom, включая RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3 и Atom 1.0. Вы можете проанализировать объектную модель RSS, объектную модель Atom или абстрактную модель SyndFeed, которая может моделировать любое семейство форматов.

Другие вопросы по тегам