Asp.Net Mvc RSS Okuma İşlemleri


Sitelerimiz için Rss büyük bir avantaj.Hem takip edenler hem takip etmek için.Bu yazıda Asp.Net MVC ile herhangi bir Rss kaynağından verileri okuyarak kendi sitemizde gösterme işlemini yapacağız.

Öncelikle hedef belirleyelim ! Ben son haberleri sitemde göstermek istiyorum bunun için Hürriyet'in güncel haberler rss akışını kullanacağım. Link

Kolları sıvayıp koda girişiyoruz.
 

    public class RSSPostDto
    {
        #region Properties

        public int RssPostID { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public string Link { get; set; }

        #endregion

        #region Constructors

        public RSSPostDto()
        {

        }

        #endregion
    }

RssPostDto class'ı tanımladıktan sonra sıra geliyor rss kaynağından verileri çekerek geriye döndürme.Az önce tanımladığımız RssPostDto sınıfını kullanarak verileri oluşturuyoruz.
 
        //Yerel ankara haberlerini çekme. S3rkan
        private static string _URL2 = "http://rss.hurriyet.com.tr/rss.aspx?sectionId=24"
        public static List GetRssFeed()
        {
            try
            {
                XDocument feedXml = XDocument.Load(_URL2);
                var feeds = from feed in feedXml.Descendants("item")
                            select new RSSPostDto
                            {
                                Title = feed.Element("title").Value,
                                Link = feed.Element("link").Value,
                            };
                return feeds.ToList() as List;
            }
            catch (Exception)
            {
                return null;
            }
        }

Daha sonra ajax ile veya Controller katmanında GetRssFeed fonksiyonunu çağırarak dönen verileri uygun olarak sayfaya basmak kalıyor.Ben , Controller katmanında Viewbag nesnesine atarak View katmanında Razor Syntax'ın nimetlerinden faydalanarak kullandım.

Yaniii
 

    List rssPostList = ViewBag.RssPostList;
                            
    @{ if (rssPostList != null) { foreach (RSSPostDto item in rssPostList) {
  • @item.Title
  • } } else {
  • Güncel bir haber bulunmamaktadır.
  • } }

Yorumlar

Bu blogdaki popüler yayınlar

Philips 246E9Q LCD Monitör Kutu Açılışı

Iyzico Error Code 11

Visual Studio'da Toplam Kod Satır Sayısını Bulma