Neler yeni

HOŞ GELDİNİZ.. DONANIM DESTEK DRIVER ANAKART PROGRAM WINDOWS MacOS LINUX

Formumuzdan Yararlanmak İçin Lütfen Üye Olunuz..

Asp.net ile RSS Oluşturma

Smartsis Çevrimdışı

Smartsis

Donanım Destek
Yönetici
** Bilişim Uzmanı **
8 Haz 2024
8,510
4,325
3,424


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. yer alan 2.0 sürümü standartlarındaki temel etiketleri kullanacağız. Daha önce paylaştığımız 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", " ");
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", " " + 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.
 
shape1
shape2
shape3
shape4
shape5
shape6
Üst