ASP.NET ve C# KULLANARAK RSS OLUŞTURMAK
Makaleye başlamadan önce nedir bu RSS bunu belirtmek isterim…
RSS, Haber siteleri, bloglar ve Portallar tarafından kullanılan, yeni eklenmiş içeriklerin kolayca takip edilmesini sağlamak için hazırlanan özel bir XML dosya biçimidir. Dosya biçimleri .RSS ve .XML'dir.
RSS Açılımı
RSS'nin kısaltılması ve zamanla gelişimi, Rich Site Summary iken RDF Site Summary, sonra Really Simple Syndication şeklinde olmuştur.
İnternet sitelerinin sahipleri yani WEBMASTER arkadaşlar düzenli olarak çalışmalı ve XML'yi RSS istemcisi talep ettiği takdirde içeriği sunabilmelidir.
RSS sadece başlığı içerebildiği gibi, içeriğin tamamını da bulundurabilir.
RSS kullanılan sitelerde RSS için ifade olarak kullanılan şu simge/ler yer alır.

RSS Simgesi
Web sayfamızda takipçilerimiz için Rss besleme sayfası oluşturacağız, ilk olarak Resim1 deki gibi databasemizi oluşturalım App_Data yada belirlediğiniz klasör içerisinde rss.mdb yada sizin belirlediğiniz şekilde databese oluşturalım.

Resim1
Yapacağımız işlem hem zevkli hem de çok kolay olduğundan her şeyi kod sayfası kısmından gerçekleştireceğiz.
Gerekli olacak Tüm (Library) kütüphanelerimizi projemize ekleyelim.
Ekleme Sonrasında Sayfamızın Page_Load Kısmına aşağıda yazdığımız kodları eklemeliyiz.
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.ContentType = "text/xml"; //sayfa türünü XML olarak belirtelim
XmlTextWriter objX = new XmlTextWriter(Response.OutputStream, Encoding.UTF8); //Bilindik Türkçe Karaker Sorunu Yaşamamak için Utf8 yazacak bir XML nesne oluşturalım
objX.WriteStartDocument(); //sayfayı XML biçiminde yazdırmaya başlayalım
objX.WriteStartElement("rss");
objX.WriteAttributeString("version", "2.0");
objX.WriteStartElement("channel");
objX.WriteElementString("title", "Sayfa Title- Rss Haberlerim");
objX.WriteElementString("link", "http://www.destekyeri.com/rss.aspx"); //RSS Reader yani okuyucuların anlayabilmeleriri için gerekli olan RSS adresi
objX.WriteElementString("description", "sayfanın açıklaması");
objX.WriteElementString("pubDate", "07.12.2010");
OleDbConnection baglanti = new OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=" + HttpContext.Current.Server.MapPath("VeriTabanı-Yolumuz")); // Database’e bağlanmak için belirtilecek nesne yol
string sorgu = "SELECT Haber_ID, Haber_Baslik, Haber_KisaYazi, Haber_Tarih from Haberler ORDER BY Haber_ID DESC"; //RSS Reader’lara göstermek istediğimiz alanları belirliyoruz
OleDbCommand komut = new OleDbCommand(sorgu, baglanti); // komutu bağlantı nesnemize bağlıyoruz
baglanti.Open();
OleDbDataReader oku = komut.ExecuteReader(); // Sorgumuz sonrası oluşucak verileri DataReader’ aktarıyoruz
try
{
while (oku.Read()) // Verileri okutmaya başlıyoruz
{
objX.WriteStartElement("item");
objX.WriteElementString("title", oku.GetString(1)); //Haberler başlığına databasemizde ki Haber_Baslik alanını belirtelim
objX.WriteElementString("description", oku.GetString(2)); //Haberler KısaYazımıza databasemizdeki Haber_KisaYazi alanını belirtelim
objX.WriteElementString("link", "rss.aspx?id=" + oku.GetInt32(0).ToString()); //Rss Haberlerlerimizin DINAMIK
objX.WriteElementString("pubDate", oku.GetDateTime(3).ToString("R")); // son olarak RSS Haberlerimizin Zamanlarını belirtelim tarih olarak Databasemizdeki Haber_Tarih alanını belirtelim
objX.WriteEndElement();
}
}
catch (OleDbException ex)
{
Response.Write(ex.Message.ToString());
}
finally
{
oku.Close(); //datareaderı kapatalım
baglanti.Close(); //bağlantıyı kapatalım
objX.WriteEndElement(); //açılmış olan xml taglarını kapatalım
objX.WriteEndElement();
objX.WriteEndDocument(); //xml dökümanın kapanış tagını yazalım
objX.Flush();
objX.Close();
Response.End();
}
} Urlsini belirleyelim
Nihayetinde yapmış olduğumuz işlemler sonrasın da Resim2 deki gibi bir ekran karşımıza geliyor.

Resim2
İşe yarar bir makale olarak bir çok arkadaşın fayda görmesini umarım….