RSS Sayfası Oluşturmak

14
Mart
2011
RSS Sayfası Oluşturmak

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.

koca-rss.gif

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.

rss-tablo.jpg

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.

 

 
  Akış Çizelgesi: Belge: using System;
            using System.Collections.Generic;
            using System.Web;
            using System.Web.UI;
            using System.Web.UI.WebControls;
            using System.Text;
            using System.Xml;
            using System.Data.OleDb;
 

 

 
 
 
 
 
 
 
 

 

 

 

 

 

 

 

 

 


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.

rsssonucscreen.jpg

                          Resim2

 

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

MAKALE-YORUMLAR

İsminiz
Yorumunuz


Doğrulama kodu

?

MAKALEYE YORUM YAZ

İsminiz
E-posta adresiniz
Yorumunuz
Doğrulama kodu ?

Copyright © 2006 - 2013  DESTEKYERI.COM

Embedded by  ® SANALOG Tüm Hakları Saklıdır . Yayınlanan yazıların izin alınmadan kopyalanması ve kullanılması  5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur. Makalelerin "alıntı" olduğunu belirterek yayınlayabilir ve kaynağı belirtmeniz önemlidir !!!