Yazar Ol Yazar Girişi
Yazar Girişi
E-Posta Adresi
Şifre
Şifremi Unuttum
Asp.Net .Net MVC PHP & MySQL C# PhotoShop CSS jQuery AlgoritmA MsSQL Server HTML Ruby
- Kategoriler -
Türkçe
English
German
Tüm Kategoriler
MVC C# ile RSS Okuma
Merhaba arkadaşlar,
Haber sitelerinin veya diğer sitelerin rss olarak verdikleri bilgileri kendi sitenize çekmenize ilişkin bir uygulama yapacağız.
Bunun içn öncelikle rss hizmeti veren bir adrese ihtiyacınız var biz örnek olarak hürriyet gazetesini alalım
Sitenin en altında Rss iconunu görürsünüz 
linki : http://dosyalar.hurriyet.com.tr/rss/
Bu adresten biz sadece gündem haberlerini çekelim. 

Models klasörüne __Haberler adında bir class tanımlıyoruz öncelikle
 
  public class __Haberler
    {
        
        public string HaberBaslik { get; set; }
        public string HaberAciklama { get; set; }
        public string HaberLink { get; set; }
        public string HaberResim { get; set; }
        public string HaberKategori { get; set; }

    }

Class da gördüğünüz gibi alacağımız alanları belirttik sadece rss de daha fazla alanlar var fakat ben sadece bunları alacağım için girdim

Şimdi Controller a geçelim Default indexde işlem yapacağım
 
 public ActionResult Index()
        {
            WebClient webclient = new WebClient();
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            webclient.Encoding = Encoding.UTF8;  // Türkçe karakter desteği için gerekli
            string CekilenVeriler = webclient.DownloadString("http://www.hurriyet.com.tr/rss/gundem"); // gündeme ilişkink rss adresi
            
            XDocument xmlhali = XDocument.Parse(CekilenVeriler);
            
             XNamespace media = XNamespace.Get("http://search.yahoo.com/mrss/"); // Resimleri alabilmek için gerekli
             
             var CekilenRSSFeed = (from x in xmlhali.Descendants("item")
                               select new __Haberler
                               {
                                   HaberBaslik = ((string)x.Element("title")),
                                   HaberAciklama = ((string)x.Element("description")),
                                   HaberKategori = ((string)x.Element("category")),
                                 
                                    HaberLink = ((string)x.Element("link")),
                                 HaberResim = x.Element(media + "thumbnail") != null ? x.Element(media + "thumbnail").Attribute("url").Value : ""
                                 
                               });
                               
            return View(CekilenRSSFeed);  
            
            }

rss de belirtilen alanlar title, description, category, link, media  bunları biz kendi class ımızda belirttiğimiz alanlara atıyoruz.
çektiğiniz rss de alanları kontrol edin siz yine de

Gelelim html kısmına 
 

@foreach (var item in Model)
{
    <div class="haberalan">
        <a href="@item.HaberLink">
            <img src="@item.HaberResim.Replace("file://", "http://")" />
            <h3>@item.HaberBaslik</h3>
            <span>@item.HaberAciklama</span>
            <h6>@item.HaberKategori</h6>
        </a>
    </div>
    
  
}
rss de resimleri file olarak belirttikleri için ben sadece replace uyguladım sizin rss de farklı olabilir.

iyi çalışmalar.
Sosyal Hesabında Paylaş

1333 görüntüleme

Yorumlar
Adınız Soyadınız
Mail Adresiniz
Doğrulama Kodu

Bildiklerimiz.Net Bildiklerimizi paylaşıyoruz, bilmediklerimizi öğreniyoruz. biz bunları yapıyoruz ya siz...

© 2019 Bildiklerimiz Tüm hakları saklıdır.
bir Bildiklerimiz.Net projesidir.