Использование RSS-ленты в MVC ASP.NET
Введение
В этой статье описано создание приложения MVC, использующего RSS-ленту. Следуйте этим шагам.Выберите папку "Контроллеры", затем
нажмите правую кнопку мыши и щелкните мышкой по Controller, как показано ниже.
Нажмите Add, и будет создан класс RssFeedController, как показано ниже. Класс SyndicationFeed из System.ServiceModel.Syndicatation упрощает работу с RSS-лентой. Код ниже использует RSS-ленту с сайта weblogs.asp.net для отображения сетевых журналов asp.net на странице.
using System.ServiceModel.Syndication; // добавляем ссылку на System.ServiceModel.Web.dll
public class RSSFeedController : Controller
{
public ActionResult RSSFeed()
{
string strFeed = "%22%22%22%22http://weblogs.asp.net/aspnet-team/rss.aspx%22%22%22%22">http://weblogs.asp.net/aspnet-team/rss.aspx";
using (XmlReader reader = XmlReader.Create(strFeed))
{
SyndicationFeed rssData = SyndicationFeed.Load(reader);
return View(rssData);
}
}
}
Повторите вышеуказанный шаг 2, и добавьте представление RSSFeed в папку Views\RSSFeed. Добавьте следующий код в представление RSSFeed.
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SyndicationFeed>" %>
<%@ Import Namespace="System.ServiceModel.Syndication"%>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
RSSFeed
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>RSSFeed</h2>
<% foreach (var item in ViewData.Model.Items)
{
string URL = item.Links[0].Uri.OriginalString;
string Title = item.Title.Text;
Response.Write(string.Format("<p><a href=\"{0}\"><b>{1}</b></a>", URL, Title));
Response.Write("<br/>" + item.Summary.Text + "</p>");
} %>
</asp:Content>
Теперь вы можете запустить проект, и он отобразит rss-ленту с сайта weblogs.asp.net, как показано ниже.
Вывод
В данной статье было создано приложение RSS-лента, использующее пространство имен System.ServiceModel.Syndicatation (синдикация).