RSS Sayfası Oluşturmak
2
Yorum
669

kez okundu..

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….

14.03.2011 tarihinde yazıldı..
Akif AKINCI

İsminiz
Puanınız
Yorumunuz
Kalan karatkter sayısı : 500
Yorumumu Gönder
 
Ömer UYGUN
Merhabalar werdiğğiniz bilgileri için teşekkürler. Bir iki sorum olacaktı. Bu kodalrın aynısını kendi siteme göre uyarlayıp kullandım fakat sadece tek bir kayıt alabailiyorum bunun nedeni nedir. İkinci si sayfanızda kullandığınız facebook, twitter da paylaş script inin kodları size mi ait.
Akif AKINCI
Ömer bey sizede merhaba, İlk sorunuza cevap verebilmem için yapmış olduğunuz kodu bana akifakinci[at]gmail.com a atarsanız daha net yardımcı olabilrim. Diğer sorunuz için share kodunu www.sharethis.com/ sitesinden embed kodu ile kullanmaktayız bu bir usercontrol ile de yapılabilir ama bizim sharethis siteni kullanıyor olmamız sayaç için yani kim kaç sefer paylaşmış ve nerde paylaşmış bunun istatistiğini takip edebilmek için. İyi çalışmalar.

 Anasayfa | Haberler | Duyurular | Ziyaretçi Defteri | Yazarlık Başvurusu | Logolar | Linkler | GB-TEAM 

 

Destekyeri.com, Embedded By GB-TEAM 2006 |  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.

GelecekBurada.com