ASP.NET
Network Akademi

Met Hostimg

“Bilgi paylaşıldıkça artar” sloganı ile .NET Platformuna ilişkin birikimlerin paylaşıldığı ASP.NET.TR Topluluğunda sizde “YAZAR” olmak için ; info@asp.net.tr e-mail adresine kendinizi anlatan bir e-mail göndererek başvuruda bulunabilirsiniz.

Asp.Net ile RSS Dosyası Oluşturma

Veysel Uğur KIZMAZ
ASP.NET
13.08.2011 17:49:45
Hit : 3445

Bu makalemizde Asp.Net’te RSS oluşturma işlemini inceleyeceğiz.

Öncelikle RSS’in ne olduğuyla konumuza başlayalım. RSS, çoğunlukla haber siteleri, bloglar tarafından kullanılan, siteye yeni bir içerik eklendiğinde bunu kolay takip etmeyi sağlayan bir dosyadır. XML formatındadır.

RSS kayıtları standart bir yapıdadır. Bu XML yapısının bir örneği şu şekildedir: 

<?xml version="1.0" encoding="utf-8" ?>

- <rss version="1.0">

  - <channel>

    <title>Kanal Başlığı</title>

    <link>Kanal Linki</link>

    <description>Kanal Tanımı</description>

    <copyright>Copyright</copyright>

    <pubDate>YayınTarihi</pubDate>

    <language>Dil</language>

    <webMaster>WebMaster Bilgisi </webMaster>

    <item>

      <title>RSS Başlığı</title>

      <description>RSS Tanımı</description>

      <link>RSS Linki</link>

      <pubDate>RSS Yayın Tarihi</pubDate>

    </item>

  </channel>

</rss>

 

 

Şimdi YazılımDevi.Com sitemizdeki yeni makaleleri takipçilerimizin daha kolay ve daha hızlı takip edebilmeleri için RSS sayfası oluşturalım.

Yeni bir Asp.Net Empty Web Application oluşturalım ve Default.aspx’in code behind tarafına gidelim ve standarda uygun RSS XML’imizi oluşturalım.

Öncelikle RSS kayıtlarını alacağımız bir Rss nesnesi oluşturalım.

Rss.cs

 

    public class Rss

    {

        public int RssId { get; set; }

        public string Title { get; set; }

        public string Description { get; set; }

        public string Link { get; set; }

        public string pubDate { get; set; }

    }

 

Şimdi RSS kaydını oluşturacağımız C# kodunu oluşturalım. 

        protected void Rss_Olustur()

        {

            Response.Clear();

 

            Response.ContentType = "text/xml";

 

            XmlTextWriter rssWriter = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);

            rssWriter.WriteStartDocument();

 

            rssWriter.WriteStartElement("rss");

            rssWriter.WriteAttributeString("version", "1.0");

            rssWriter.WriteStartElement("channel");

            rssWriter.WriteElementString("title", "yazilimdevi.com Makaleler");

            rssWriter.WriteElementString("link", "http://www.yazilimdevi.com/rss.aspx");

            rssWriter.WriteElementString("description", "YazilimDevi.Com | Yazılımın devi Olacaksın");

            rssWriter.WriteElementString("copyright", "(c) 2010, Yazılım Devi");

            rssWriter.WriteElementString("pubDate", "04/22/2011");

            rssWriter.WriteElementString("language", "tr-TR");

            rssWriter.WriteElementString("webMaster", "info@yazilimdevi.com");

 

            List<Rss> rssList = new List<Rss>

            {

                new Rss

                {

                    RssId = 1,

                    Title = "PHP ile MySQL Bağlantısı",

                    Description = "PHP ile dosya - klasör işlemlerinin nasıl yapıldığını inceleyelim.",

                    pubDate = new DateTime(2011,04,01).ToString(),

                    Link = "http://www.yazilimdevi.com/yazilimdevi/Makaleler-643-php-ile-mysql-baglantisi.aspx"

                },

                new Rss

                {

                    RssId = 2,

                    Title = "PHP Dosya - Klasör İşlemleri",

                    Description = "PHP ile MySQL'e nasıl bağlanılacağını, SELECT, INSERT, UPDATE sorgularının nasıl çalıştırıldığını inceleyelim.",

                    pubDate = new DateTime(2011,04,02).ToString(),

                    Link = "http://www.yazilimdevi.com/yazilimdevi/Makaleler-645-php-dosya--klasor-islemleri.aspx"

 

                }

            };

 

            foreach (var rss in rssList)

            {

                rssWriter.WriteStartElement("item");

                rssWriter.WriteElementString("title", rss.Title);

                rssWriter.WriteElementString("description", rss.Description);

                rssWriter.WriteElementString("link", rss.Link);

                rssWriter.WriteElementString("pubDate", rss.pubDate);

            }

 

            rssWriter.WriteEndElement();

            rssWriter.WriteEndDocument();

            //Belgeyi tamamlayıp ekrana çıktısını yazıyoruz...

            rssWriter.Flush();

            rssWriter.Close();

            Response.End();

        }

 

  • Response.Clear() ile var olan kaydı siliyoruz.
  • ContentType ile metnimizin türünü belirliyoruz.
  • rssWriter nesnemiz XML dosyamızı oluşturmamızı sağlamaktadır.
  • WriteStartDocument() XML dosyamıza yazmaya başlamamızı belirtmektedir.
  • WriteStartElement() Yeni bir root oluşturmamızı sağlar.
  • WriteAttributeString() Node’umuza attribute eklemeyi sağlar.
  • WriteElementString() String node oluşturmayı sağlar.
  • Foreach ile rss kayıtlarımızı XML’e ekliyoruz.

Projemizi çalıştıralım. Önce Internet Explorer’daki görüntüsünü inceleyelim. 

 

Şimdi Chrome’daki görüntüsünü inceleyelim. 

 

  

Veysel Uğur KIZMAZ

Bilgisayar Mühendisi

veysel@ugurkizmaz.com

www.ugurkizmaz.com

 


Tag asp.net » rss » » »


BU İÇERİĞE YORUMDA BULUNUN


Bu MAKALE'ye yorum yapabilmek için Üye olmalısınız ...!


BU İÇERİĞE YAPILAN YORUMLAR