Какой лучший способ разобрать RSS/Atom-каналы для приложения iPhone?
Итак, я понимаю, что есть несколько вариантов, доступных при анализе прямых XML: NSXMLParser, TouchXML от TouchCode и т.д. Это все прекрасно, и, похоже, все в порядке.
Реальная проблема здесь заключается в том, что в RSS-каналах есть и десятки небольших вариаций (и Atom-каналы), поэтому очень сложно управлять всеми возможными перестановками каналов, доступных в Интернете. Я искал в библиотеке, которая обрабатывала бы все эти низкоуровневые детали для меня, но вышла без чего-либо.
Поскольку можно было ссылаться на внешнюю библиотеку C/С++ в Objective-C, мне было интересно, есть ли там библиотека, которая лучше всего подходит для этой задачи? Кто-то, должно быть, уже создал что-то вроде этого, просто трудно найти "правильный" вариант из тысяч результатов в Google.
В любом случае, какой лучший способ разобрать RSS/Atom-каналы в приложении iPhone?
Ответы
Ответ 1
"Лучший" относительный. Лучшая производительность, которую вам нужно будет выполнять по маршруту SAX и реализовать обработчики. Я ничего не знаю, где есть открытый исходный код (запустите проект кода google и отпустите его для всех нас!)
Независимо от того, что вы делаете, вероятно, очень плохая идея попробовать загрузить весь XML файл в память и действовать на нем, как DOM. Скорее всего, вы получите каналы, которые намного больше, чем вы можете использовать на устройстве, что приводит к частым предупреждениям и сбоям памяти.
Ответ 2
Я только что выпустил открытый RSS/Atom Parser для iPhone и, надеюсь, это может быть полезно.
Мне бы тоже хотелось услышать ваши мысли об этом!
Ответ 3
В настоящее время я пытаюсь создать MWFeedParser @Michael Waterfall.
Довольно легко настроить и использовать (я начинающий разработчик iPhone).
Его примерный код для использования MWFeedParser для заполнения реализации UITableViewController также полезен.
Ответ 4
взгляните на образец XML XML Performance - который указывает на использование libXML напрямую - для повышения производительности и более быстрого обновления дисплея. Что может быть важно, если вы работаете с очень большими фидами.
Ответ 5
Посмотрите мою библиотеку для разбора Atom-каналов, (BSAtomParser) в GitHub. Он не заботится о проверке фида, он делает все возможное, чтобы вернуть все, что действительно. Парсер покрывает большую часть RFC 4287, даже расширения.
Ответ 6
Здесь мое решение: действительно простая, но мощная библиотека анализа RSS: https://github.com/H2CO3/RSSKit
Ответ 7
Вы еще смотрели TouchCode? Я не думаю, что у него есть процессор RSS, но он может дать вам начало.
http://code.google.com/p/touchcode/
Ответ 8
Сегодня я пришел на igasus на сайте sourceforge. Я не использовал его и не проверял, но, возможно, это может помочь.
Со своего сайта:
igagus - это веб-сервис для iPhone, который позволяет объединять RSS в удобном для iPhone формате.
Ответ 9
На самом деле, я пытался предложить вам спросить на доске объявлений TouchCode, потому что я помню, что кто-то пытался расширить его для поддержки RSS. Это может быть хорошей отправной точкой. Но меня бросила моя жена.
Но теперь я вижу, что TouchCode не имеет дискуссионной панели. Я все равно спрошу автора, хотя он мог бы знать, что из этого вышло.
Ответ 10
Это может быть разумной отправной точкой для вас. Поддержка Atom еще не существует, но вы можете помочь?