Asp.net ile RSS Oluşturma (XmlTextWriter ile Dinamik RSS Oluşturma)
Asp.net ile RSS Oluşturma (XmlTextWriter ile Dinamik RSS Oluşturma)

Bu makalemizde Asp.net ile RSS oluşturma konusuna değineceğiz. RSS oluşturma işlemi için herhangi bir hazır araç kullanmadan XmlTextWriter kütüphanesi ile oluşturcağız. Kısaca RSS hakkında bilgi verdikten sonra asp.net projemizin kodlarını paylaşacağız.

RSS, blog ve internet sitelerinin güncel içeriklerini kullanıcıların takip etmesi için geliştirilmiş bir XML temelli bir standarttır. RSS yayınları, RSS okuyucu diye adlandırılan programlar tarafından okunur ve kullanıcıya daha okunaklı bir arayüz ile istedikleri anda bu içeriği görüntüleme imkanı verir. Bir çok sürümü olmasına karşın en yaygın kullanılan sürümü 1.0 sürümüdür. Ancak biz son sürümü olan 2.0 sürümünü baz alarak RSS oluşturacağız.

RSS, XML tabanlıdır ve çeşitli etiketlere sahiptir. Şu linkte yer alan 2.0 sürümü standartlarındaki temel etiketleri kullanacağız. Daha önce paylaştığımız asp.net sitemap oluşturma başlıklı makalemizde paylaştığımız ve açıklamasını yaptığımız kodlarımızda bir kaç değişiklik ile RSS oluşturacağız.

Asp.net RSS Oluşturma

Web projemizin içerisine yeni bir web form ekleyerek .aspx uzantılı sayfayı geldiği gibi boş bırakın. Ayrıca projenizde MasterPage yapısı kullanıyorsanız RSS için açtığını formun Master sayfasından bağımsız olmasına dikkat edin.

Sayfamızın .aspx.cs uzantılı (code behind) dosyasını açarak aşağıdaki rss oluşturma kodlarını Page_Load metodu içerisine yerleştirin.

Response.ContentType = "text/xml";
XmlTextWriter feed = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);//xmltext nesnemizden bir örnek türettik.
feed.WriteStartDocument();//xml dosyamızı yazmaya başladık.
feed.WriteStartElement("rss");
feed.WriteAttributeString("version", "2.0");
feed.WriteStartElement("channel");
feed.WriteElementString("title", "Teknolog Web");
feed.WriteElementString("link", "http://localhost:64406/");
feed.WriteElementString("description", "Teknolog Web eğitim teknolojileri, programlama ve web tasarım blogudur.");
string baglantiCumlesi = WebConfigurationManager.ConnectionStrings["ConStr"].ToString();
SqlConnection baglan = new SqlConnection(baglantiCumlesi);
SqlCommand listeleKomutu = new SqlCommand("SELECT * FROM Sayfalar", baglan);
baglan.Open();
SqlDataReader listele = listeleKomutu.ExecuteReader();
//veritabanından DataReader nesnesine aldığımız verilerle döngü içerisinde her bir sayfamızın verilerini rss feed listesine ekliyoruz.
while (listele.Read())
{
    feed.WriteStartElement("item");
    feed.WriteElementString("title", listele[1].ToString());
    feed.WriteElementString("link", "http://localhost:64406/sayfa.aspx?id=" + listele[0].ToString());
    feed.WriteElementString("description", listele[1].ToString());
    feed.WriteElementString("pubDate", listele[3].ToString());
    feed.WriteElementString("guid", listele[0].ToString());
    feed.WriteEndElement();
}
baglan.Close();
listeleKomutu.Dispose();
baglan.Dispose();
feed.WriteEndElement();
feed.WriteEndDocument();
feed.Flush();
feed.Close();
Response.End();

Her RSS sayfası <rss>  etiketi ile başlar ve bu etiket için geçerli bir versiyon numarası belirtilmelidir. Bundan sonra <channel>  etiketi gelir. Bu etiket rss kaynağı olan sitemiz yada blogumuz hakkında başlık, açıklama ve adres gibi temel bilgileri barındırır.

Asp.net ile rss oluşturma makalemiz bu kadar. Konu ile ilgili soru veya sorunlarınız için aşağıdaki yorumlar bölümünü kullanabilirsiniz.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz