Merhaba arkadaşlar bu makalede Asp.Net ile nasıl RSS akışı yapabiliriz onu anlatmaya çalıştım.
Verileri EntityFramework Data Modeli çekiyorum.
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!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
Yorumlar
Yorum Gönder