Asp.Net EntityFramework ile Dinamik Rss nasıl yapılır

Dynamic RSS with Asp.Net and EntityFramework
Merhaba arkadaşlar bu makalede Asp.Net ile nasıl RSS akışı yapabiliriz onu anlatmaya çalıştım.

Verileri EntityFramework Data Modeli  çekiyorum.         
 
//Verilerin çekileceği modelin bir örneğini oluşturuyorum 
siteEntities db = new siteEntities();
//Oluşturulma tarihine göre büyükten küçüğe sıralayarak aktif yaziları çekiyorum
var makaleler= db.yazilar.Where(w => w.durum == true).OrderByDescending(o=>o.add_date).ToList();
Response.Clear(); //Sayfayı Temizledik.
Response.ContentType = "text/xml"; //Sayfa tipini xml olarak ayarladık.
//RSS xml yapısında olduğundan bir XmlTextWriter nesnesi oluşturup içini dolduruyoruz.
XmlTextWriter RSS = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
 
RSS dosyasında standart olan alanları dolduruyoruz.
 
RSS.WriteStartDocument();
RSS.WriteStartElement("rss");
RSS.WriteAttributeString("version", "2.0");
RSS.WriteStartElement("channel");
RSS Sayfa bilgilerini dolduruyoruz.
 
RSS.WriteElementString("title", "Kodstrap.com Makaleler"); //Başlık
RSS.WriteElementString("link", "http://www.kodstrap.com/Home/Rss"); //RSS linki
RSS.WriteElementString("description", "Kodstrap.com RSS Akışı"); //Description
RSS.WriteElementString("copyright", "(c) "+DateTime.Now.Year+", Kodstrap.Com"); //Haklar bilgisi
RSS.WriteElementString("pubDate", DateTime.Now.ToString("dd/MMM/yyyy")); //Son güncelleme ben aktif günün tarihini yazdırıyorum
RSS.WriteElementString("language", "tr-TR"); //Dil
RSS.WriteElementString("webMaster", "emre@playback.com.tr"); //E-Mail Adresiniz
	 
Dinamik içeriği basıyoruz.
 
foreach (var item in makaleler)

{

	//Description basıcaz ancak rss html göstermeyeceğinden html taglari temizliyorum ve sadece 200 karakterini alıyorum.

	string clearedText = cBase.StripHtmlTags(item.detail); 

	string description = clearedText.Length > 200 ? clearedText.Substring(0, 200) : clearedText;

	//Bir item elementi oluşturup içini dolduruyoruz.

	RSS.WriteStartElement("item");

	RSS.WriteElementString("title", item.name);

	RSS.WriteElementString("description", description);

	RSS.WriteElementString("link", "http://www.kodstrap.com/makale/" + ToURL(item.name) + "/" + item.aid);

	RSS.WriteElementString("pubDate", item.add_date.Value.ToString("dd/MMM/yyyy"));

	RSS.WriteEndElement();

}

Makale üzerinde açtığımız elementleri sonlandırıyoruz.
 
RSS.WriteEndElement();

RSS.WriteEndElement();

RSS.WriteEndDocument();

RSS.Flush();

RSS.Close();

Response.End(); 
StripHtmlTag: Bu metod html etiketleri temizliyor. Siz kendi metodunuzu uygulayabilirsiniz.
ToUrl : Bu method makale başlığını seo url yapmaya yarıyor. Siz kendi metodunuzu uygulayabilirsiniz.
Kodstrap.Com'un rss linki : http://www.kodstrap.com/rss
 

İyi Kodlar!