آموزش نحوه خواندن 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 استفاده کنید.

نظر / سوال

Captcha

این صفحه را می‌پسندم