آموزش نحوه خواندن Rss سایت ها با MVC 5
1 0

آموزش نحوه خواندن Rss سایت ها با MVC 5


آموزش نحوه خواندن Rss سایت ها با MVC 5

در این آموزش قصد داریم تا نحوه خواندن Rss سایت های دیگر و نمایش اطلاعات آن ها به صورت Html در مرورگر کاربر را مورد بررسی قرار دهیم.

ابتدا یک کلاس به نام RssViewModel داخل پوشه Models ایجاد کنید و پراپرتی های زیر را برا آن تعریف کنید.

با استفاده از این کلاس ما یک مدل از Rss به View ارسال می کنیم.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MVCRssReader.Models
{
    public class RssViewModel
    {
        public string Link { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}

 

برای خواند Rss یک کلاس به نام RssReader ایجاد کنید و کدهای زیر را به آن اضافه کنید.

کار این کلاس به این صورت است که یک متد به نام GetRssFeed از نوع IEnumerable از کلاس RssViewModel که در مرحله قبل ایجاد کردیم می باشد. این متد یک آدرس Rss دریافت می کند و اطلاعات Rss را خواند و به صورت IEnumerable از کلاس RssViewModel برای ما برمیگرداند.

using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using System.Text.RegularExpressions;
using MVCRssReader.Models;

namespace MVCRssReader.Infrastructure
{
    public class RssReader
    {
        public static string _blogURL = "";
        public static IEnumerable<RssViewModel> GetRssFeed()
        {

            XDocument feedXml = XDocument.Load(_blogURL);
            var feeds = from feed in feedXml.Descendants("item")
                        select new RssViewModel
                        {
                            Title = feed.Element("title").Value,
                            Link = feed.Element("link").Value,
                            Description = Regex.Match(feed.Element("description").Value, @"^.{1,180}\b(?<!\s)").Value

                        };

            return feeds;

        }
    }
}

 

حالا یک اکشن ریزالت در هر کنترلی که مد نظر دارید ایجاد کنید و کدهای زیر به آن اضافه کنید.

کدهای زیر یک آدرس Rss را به کلاس RssReader ارسال می کند و اطلاعات آن را خواند و به صورت یک IEnumerable از کلاس RssViewModel بر می گرداند.

public ActionResult Index()
{
   RssReader._blogURL = "http://iranganj.com/rss";
   return View(RssReader.GetRssFeed());
}

حال برای مشاهده خروجی یک View برای اکش ریزالت مربوطه ایجاد کنید و کدهای زیر را به آن اضافه کنید.

در کدهای زیر با استفاده از یک Foreach اطلاعات دریافتی را در مرورگر نمایش دادیم.

@model IEnumerable<MVCRssReader.Models.RssViewModel>
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    @if (Model.Any())
    {
        <ul class="posts">

            @foreach (var item in Model)
            {
                <li>
                    <i class=" fa fa-file-text-o" style="color: #A7C700;font-size: 16px;padding-left: 5px;"></i>
                    <a class="font-Samim" style="text-decoration: none; color: #428bca; font-size: 14px;" href="@item.Link" target="_blank">
                        @item.Title
                    </a>
                </li>
            }
        </ul>
        <p></p>
    }
</body>
</html>

با استفاده از این روش که توضیح دادیم شما می توانید تمام Rss های سایت ها را بخوانید و به هر نحوه و ترتیبی که دوست دارید آن ها را نمایش دهید.

دانلود

نویسنده حسین فتحی
گروه مطلب MVC
نوع مطلب سورس کد و آموزش
تاریخ انتشار ۳۱ خرداد ۱۳۹۵
منبع ایران گنج
تعداد نظرات ۲
قیمت کاربران VIP
توضیح توجه:
  • زمانی که روی لینک دانلود کلیک می کنید لینک دانلود به مدت 24 ساعت معتبر خواهد بود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.
خرید VIP
امکان خرید از درگاه های بانکی و حساب مجازی

برای دانلود بعد از خرید به همین صفحه برگردید تا لینک های دانلود نمایش داده شود

نظر / سوال

Captcha
نظرات کاربران

  • sara

    سلام وقت بخیر میخواستم ببینم چرا کدهای view کار نمیکتن?? ما توی view خواستیم که title هم در کنار لینک نمایش داده بشه اما اجرا نمیشه! کدهای خط 22 و 23 انگار اجرا نمیشن رنگشون متفاوته ولی توی خروجی فقط یه لیست به رنگ ابی نشون داده میشه ممنون میشم راهنمایی کنید

    پاسخ
    • حسین فتحی

      سلام

      ترتیب css های رو حتما راعایت نکردین و داره از جای تاثیر میگره

      پاسخ