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