Як створити rss для свого сайту

244

Програмування Asp.net
Попередній

Наступний

Для початку ми створимо сторінку Handler.ashx, як для мене вона найбільше підходить для Rss.
Додамо посилання на бібліотеки, що ми будемо використовувати:

using System.ServiceModel.Syndication;
using System.Xml;
using System.Collections.Generic;

Далі створюємо загальні зведення про наш rss-канал

//Назва
feed.Title = new TextSyndicationContent
(“AspNet – блог програміста”);
feed.Copyright = new TextSyndicationContent
(“© 2009 Shulga Leonid”);
feed.Description = new TextSyndicationContent
(“Блог програміста – поради, картинки, історії, приколи, анекдоти, відео ASP ASP.NET C# LINQ silverlight xaml”);
feed.Generator = “Leonid’s RSS Feed Generator”;
//Посилання на джерело
SyndicationLink link = new SyndicationLink();
link.Title = “AspNet – блог програміста”;
link.Uri = new Uri(http://www.aspnet.com.ua/);
feed.Links.Add(link);
//Автор
SyndicationPerson author = new SyndicationPerson();
author.Name=”Shulga Leonid”;
author.Uri =http://www.aspnet.com.ua/;
feed.Authors.Add(author);
//картинка
feed.ImageUrl = new Uri(“http://www.aspnet.com.ua/aspnetrss.gif”);

Після цього будемо наповнювати наш канал інфою. Для цього створюємо список:

List items = new List();
SyndicationItem item = new SyndicationItem();
item.Id = Guid.NewGuid().ToString();
item.Title = new TextSyndicationContent(“Заголовок”);
item.Summary = new TextSyndicationContent(“Тіло”);
item.Categories.Add(new SyndicationCategory(“Категорія не обов’язково”));
item.PublishDate = new DateTimeOffset(blog.Date);
items.Add(item);

Додаємо наш список до каналу

feed.Items = items;
Який потім передаємо на вихід

context.Response.Clear();
context.Response.ContentEncoding =
System.Text.Encoding.UTF8;
context.Response.ContentType = “text/xml”;

XmlWriter rssWriter = XmlWriter.Create
(context.Response.Output);
Rss20FeedFormatter rssFormatter =
new Rss20FeedFormatter(feed);
rssFormatter.WriteTo(rssWriter);
rssWriter.Close();

context.Response.End();

Останнє що нам потрібно зробити, це показати браузеру що на сайті є rss. Для цього на сторінках додають такий лінк в тег

href=”http://www.aspnet.com.ua/RSSPage.ashx”
title=”AspNet – блог програміста” />

Здається все