Подтвердить что ты не робот

Как я могу начать создавать С# RSS Reader?

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

4b9b3361

Ответ 1

См

http://msdn.microsoft.com/en-us/library/bb943474.aspx

http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.syndicationfeed.aspx

http://msdn.microsoft.com/en-us/library/bb943480.aspx

В основном, в структуре .Net 3.5 есть много всего, что делает grunt-work синтаксического анализа и представления фидов; нетрудно написать 30-строчное приложение, которое принимает URL-адрес фида и загружает фид и печатает название и автор всех элементов, например. (Работает для RSS 2.0 (не других!) Или Atom.)

Ответ 2

Если вы сосредоточены на создании RSS Reader, а не на синтаксическом анализе RSS, вы можете делегировать создание/чтение RSS-каналов, используя эту бесплатную RSS-библиотеку под названием Argotic на CodePlex.com

Ответ 3

В качестве другого плаката рекомендуется использовать класс SyndicationFeed и Argotic.

Если производительность является проблемой, класс SyndicationFeed будет намного лучше. Я оценил это как примерно в 9 раз быстрее, чем Argotic на моем оборудовании.

Проблема, с которой я столкнулась с классом SyndicationFeed, заключалась в ее способности успешно анализировать любой случайный канал из сети. Это происходит с ошибкой XmlException на удивление часто.

Для моих целей я придерживаюсь Argotic. В конце концов, это с открытым исходным кодом, поэтому я могу всегда вносить изменения, если мне нужно.

Ответ 4

Я предлагаю вам использовать этот

RSS.NET - это библиотека классов .NET с открытым исходным кодом для RSS-каналов. Он предоставляет многоразовую объектную модель для синтаксического анализа и записи RSS-каналов. Он полностью совместим с версиями RSS 0.90, 0.91, 0.92 и 2.0.1, реализующими все конструкции.

Поскольку стандартный канал синдикации не поддерживает другие версии rss.

Ответ 6

Если вы пишете полнофункционального читателя без использования какой-либо библиотеки, также подумайте, что есть ATOM фиды для синтаксического анализа.

Ответ 7

RSS сам по себе очень прост. Просто XML-описание канала и список элементов на этом канале (возможно, с файлами, прикрепленными к каждому элементу). Следить за обновлениями немного сложно, и управлять кодировками и сообщениями/датами тоже сложно. Настоящий кошмар - это разные "толкования" формата RSS, используемые разными сайтами. Если вы действительно пишете устройство чтения каналов, вы можете начать с разбора Atom, так как это более стандартизованный формат и может ускорить работу с хорошим дизайном для перехода в RSS. Но на самом деле вам нужно просто использовать библиотеку синтаксического анализа RSS - желательно самую совместимую, доступную (но не платите за библиотеку RSS, они достаточно распространены).

Ответ 8

RSS - это диалект XML, поэтому, если вы знаете XML, у вас есть часть проблемы. Если вы хотите начать свой проект, подумайте над уже открытыми проектами с открытым исходным кодом:

http://www.codeplex.com/site/search?projectSearchText=RSS%20Reader

CodePlex (выше) - это хорошее место для начала, так как большинство проектов будут на С#.

Ответ 9

Рассмотрите возможность чтения исходного кода для RSS Bandit, который является С# Winforms (возможно, скоро WPF) RSS Reader.

Вы должны получить хорошие идеи, просто перейдя через приложение.

Ответ 10

Я довольно часто работал с RSS и обнаружил, что каналы ATOM, как правило, легче анализировать с использованием класса RssSyndication. Для спецификаций RSS 2.0, если канал действительно действителен, тогда он также легко загружает XDocument из URI и анализирует данные по мере необходимости.

Ответ 11

Если вы не можете использовать System.ServiceModel.Syndication.Syndicationfeed, например, потому что используете PCL (Portable Class Library). Я написал один: FeedParserPCL. Вы можете найти его на NuGet.