Asp.net MVC的自定义RSS阅读器

时间:2014-02-11 12:19:16

标签: c# asp.net-mvc-3 rss-reader

从博客Feed中读取rss Feed后,我需要提供以下内容。

enter image description here

我在下面写了代码片段。

private IEnumerable<RssReader> GetBlogRssFeeds()
        {

           var rssFeed = XDocument.Load("http://sampathloku.blogspot.com/feeds/posts/default?alt=rss");

             var rssFeedOut= from item in rssFeed.Descendants("item")
               select new RssReader
               {
                   Title = item.Element("title").Value,
                   Link = item.Element("link").Value,
                   Description = (item.Element("description") != null) ? Regex.Match(item.Element("description").Value, @"^.{1,180}\b(?<!\s)").Value : ""
               };

        return rssFeedOut;
        }

查看

<%@ Page Title="" ContentType="text/html" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<RssReader>>" %>

    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">


    <table border="1">

    <% foreach (var p in Model)
       { %>
    <tr border="1">
        <th>
            <%= Html.Encode(p.Title) %>
        </th>
    </tr>
    <tr border="1">
        <th>
            <%= Html.Encode(p.Description) %>
        </th>
    </tr>
    <tr border="1">
        <th>
            <%= Html.Encode(p.Link) %>
        </th>
    </tr>
    <% } %>
</table>
           </asp:Content>

但我的最终结果显示一切如下。

enter image description here

更新

现在我的观点如下。

enter image description here

我的问题:如何显示图片和内容如上图所示?

更新了问题:如何在没有html标签的情况下获取说明?

1 个答案:

答案 0 :(得分:4)

您的内容类型为application/rss+xml。这样它就永远不会显示为html。

只需删除ContentType="application/rss+xml"部分或将其替换为text/html,然后将您的网页更改为html而不是rss。

没有办法告诉浏览器:嘿,你应该阅读rss,但格式化为html。您可以combine things(在HTML中使用rss标签),但它会评估浏览器认为最佳的方式(这不是您想要的)。

只需从你的rss读取输出html并将其格式化为html。