Объединение нескольких RSS-каналов
Я очень новичок в программировании с помощью RSS-каналов, пожалуйста, прости меня, если это звучит как действительно общий вопрос.
Можно ли взять несколько RSS-каналов с нескольких сайтов и объединить их в один объект для показа конечному пользователю?
Например, могу ли я взять последние заголовки новостей с одного сайта, последние обновления блога с совершенно другого сайта и объединить их в один список, чтобы показать пользователю?
Я видел подобный вопрос, который задавался ранее, и кажется, что это возможно, но небольшая проблема заключается в том, что я хочу позволить пользователю добавлять любые каналы, которые они хотят, из любого источника.
Я ищу это в ASP.NET
Большое спасибо!
2 ответа
Вы можете использовать SyndicationFeed
класс для работы с RSS-лентами в.Net.
Вы, вероятно, хотите сделать что-то вроде этого (не проверено):
var allItems = new List<SyndicationItem>();
foreach(var feedUrl in whatever) { //In your list of urls
using(var reader = XmlReader.Create(url))
allItems.AddRange(SyndicationFeed.Load(reader).Items);
}
var newFeed = new SyndicationFeed(items);
//Do something with newFeed
Вы должны добавить обработку ошибок в случае, если один из каналов недоступен или недействителен.