簡體   English   中英

RSS閱讀器C#用於多個URL

[英]RSS Reader C# for multiple URLs

無法找到正確的方法為C#中的多個URL構建RSS閱讀器。

namespace RSSFeedApp.Controllers
{
    public static class RSSController
    {
        private static string _blogURL = "http://www.vg.no/export/Alle/rdf.hbs?kat=sport";
        public static IEnumerable<RSSFeedApp.Models.Rss> GetRssFeed()
        {
            XDocument feedXml = XDocument.Load(_blogURL);
            var feeds = from feed in feedXml.Descendants("item")
                        select new RSSFeedApp.Models.Rss
                        {
                            Title = feed.Element("title").Value,
                            Link = feed.Element("link").Value
                        };
            return feeds;
          }
    }
}


namespace RSSFeedApp.Models
{
    public class Rss
    {
        public string Link { get; set; }
        public string Title { get; set; }
    }
}

@foreach (var item in RSSFeedApp.Controllers.RSSController.GetRssFeed())
                                    {
                                        <tr style="border-bottom: 1px solid #34693a;">
                                            <td>
                                                <a       href="@item.Link">@System.Web.HttpUtility.HtmlDecode(item.Title)</a>
                                        </td>
                                        <td>
                                            <a href="@item.Link" target="_blank"><i class="fa fa-book"></i></a>
                                        </td>
                                        </tr>
                                    }

有人知道該怎么做嗎? 由於Razor語法,必須使用IEnumerable。 據我了解,XDocument無法讀取多個URL或列表?

我做了類似的事情。 這是我的代碼的摘要:

(我的RSS模型是相同的)

RSSReader模型:

public class RsssReader
{

    public static IEnumerable<RSSS> GetRssFeed(string url)
    {
        XDocument xdoc;

            var feeds = from feed in xdoc.Descendants("item")
                        select new RSSS
                        {
                            Title = feed.Element("title").Value,
                            Link = feed.Element("link").Value,

                        };
            return feeds;

        }



    }

    public static IEnumerable<RSSS> GetMultipleFeeds(string searchTerm)
    {
        string urluno = "http://your/first/link";
        string url = "http://your/second/link";
        string url2 = "http://your/second/link";
        string urldos = "http://your/second/link";

        return GetRssFeed(urluno).Union(GetRssFeed(url).Union(GetRssFeed(url2).Union(GetRssFeed(urldos))));
    }
} 

RSSController:

    public class RSSSController : Controller
{
    public ActionResult Index(string searchString)
    {

        return View(Search.Models.RsssReader.GetMultipleFeeds(searchString));


    }

然后我的觀點是這樣的:

<table>
<tr>
    <th>
        Title
    </th>
    <th>
        Link
    </th>

</tr>

    @foreach (var item in Model)
    {
            <tr>
                <td>
                    @item.Title
                </td>
                <td>
                    <a href="@item.Link" target="_blank">@item.Link</a>
                </td>
            </tr>
        }
    }

</table>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM