معرفی
در این مقاله نحوه خواندن فید RSS با استفاده از MVC را خواهیم دید.
اجازه دهید مرحله به مرحله شروع کنیم -:
مرحله 1: ابتدا یک برنامه MVC ایجاد می کنیم. برای ایجاد برنامه جدید MVC مراحل زیر را دنبال کنید.
- روی FILE ، New و سپس Project کلیک کنید یا CTRL + SHIFT + N را فشار دهید .
- سپس یک DialogBox برای پروژه جدید باز می شود، به Installed ، Templates، Visual C#، سپس Web بروید و ASP .NET Web Application را انتخاب کنید و نام پروژه را (مانند ReadRSSFeed) بدهید و روی دکمه OK کلیک کنید.
- پس از کلیک بر روی دکمه OK یک کادر محاوره ای دیگر از آن کادر محاوره ای باز می شود. MVC را به عنوان الگوی پروژه انتخاب کنید، سپس Authentication to Individual User Accounts و سپس OK را فشار دهید.
مرحله 2: پس از ایجاد پروژه، فایل کامل پروژه شما در Solution Explorer به صورت زیر خواهد بود .
مرحله 3: اکنون با استفاده از مراحل زیر یک کلاس مدل اضافه کنید:
- روی پوشه Models کلیک راست کنید .
- روی Add کلیک کنید ، سپس Class.
- نام کلاس را به عنوان RSSFeed قرار دهید.
مرحله 4: کد زیر را در RSSFeed.cs بنویسید :
مرحله 5: اکنون Empty RSSFeedController را به پروژه خود اضافه کنید. برای افزودن RSSFeedController می توانید مراحل زیر را دنبال کنید:
- روی پوشه Controllers کلیک راست کنید .
- روی Add و سپس Controller کلیک کنید .
- اکنون یک کادر محاوره ای برای Add Scaffolding باز می شود. کنترلر MVC 5 - Empty را انتخاب کنید .
- اکنون نام Controller را به عنوان RSSFeedController بگذارید .
مرحله 6: کد زیر را در RSSFeedController بنویسید .
- using ReadRSSFeed.Models;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net;
- using System.Web;
- using System.Web.Mvc;
- using System.Xml.Linq;
- namespace ReadRSSFeed.Controllers
- {
- public class RSSFeedController : Controller
- {
- public ActionResult Index()
- {
- return View();
- }
- [HttpPost]
- public ActionResult Index(string RSSURL)
- {
- WebClient wclient = new WebClient();
- string RSSData=wclient.DownloadString(RSSURL);
- XDocument xml = XDocument.Parse(RSSData);
- var RSSFeedData = (from x in xml.Descendants("item")
- select new RSSFeed
- {
- Title = ((string)x.Element("title")),
- Link = ((string)x.Element("link")),
- Description = ((string)x.Element("description")),
- PubDate = ((string)x.Element("pubDate"))
- });
- ViewBag.RSSFeed = RSSFeedData;
- ViewBag.URL = RSSURL;
- return View();
- }
- }
- }
مرحله 7: اکنون یک نمای شاخص برای RSS Feed Controller ایجاد کنید. در اینجا مراحل انجام می شود:
- باز کردن پوشه View را باز کنید، پوشه RSSFeed را دریافت خواهید کرد .
- روی پوشه RSSFeed کلیک راست کنید .
- اکنون نام View را به عنوان "Index" انتخاب کنید و Empty Template را انتخاب کنید. سپس بر روی دکمه Add کلیک کنید .
مرحله 8: کد زیر را در نمای ایجاد شده بنویسید:
- @{
- ViewBag.Title = "Index";
- }
- <br />
- <h2>RSS Feed Reader</h2>
- <hr />
- <br />
- @using (Html.BeginForm())
- {
- <input type="URL" name="RSSURL" placeholder="Enter RSS Feed URL Here..." class="form-control" value="@ViewBag.URL" style="min-width:100%" />
- <br />
- <input type="submit" class="btn btn-danger" />
- }
- <table class="table table-hover">
- <thead>
- <tr>
- <th>Title</th>
- <th>Link</th>
- <th>Description</th>
- <th>Publish Date</th>
- </tr>
- </thead>
- <tbody>
- @if (ViewBag.RSSFeed != null)
- {
- foreach (var item in ViewBag.RSSFeed)
- {
- <tr>
- <td>@item.Title</td>
- <td><a href="@item.Link">@item.Link</a></td>
- <td>@item.Description</td>
- <td>@item.PubDate</td>
- </tr>
- }
- }
- </tbody>
- </table>
مرحله 9: اکنون پروژه را اجرا کنید