谷歌警报MVC应用程序中的RSS源

时间:2013-10-15 08:36:04

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

完全披露:我对MVC应用程序来说是全新的,所以我可以在这里接近我的方法。这是一个非常陡峭的学习曲线。

我的任务是开发一个可以通过Google快讯显示RSS Feed设置的MVC应用程序。 以下是我为“毒品半身像”设置的示例警报提要的链接,我正在尝试阅读:

http://www.google.com/alerts/feeds/11811034629636691510/10685173545303329123

如何将Feed的所有“条目”字段加载到可以在视图中显示的数据结构中? 尝试使用Create()函数以及使用Load()函数的XDocument将URL加载到XmlReader中时遇到了问题。我一直收到Uri的XmlException。

我使用以下作为我的Feed数据结构:

public class FeedViewModel
{
    public FeedItem[] FeedItems { get; set; }
}
public class FeedItem
{
    public string Title { get; set; }
    public string Description { get; set; }
    public DateTime Date { get; set; }
    public string Link { get; set; }
}

我现在并不担心实际显示,我只关心将Feed数据加载到类中。任何人都可以帮助或指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

是的,您尝试阅读XmlReader时可能会遇到XML异常,即使我不完全确定原因。 您可以做的是获取HttpResponsehttp://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx

   public static string HttpGet()
            {
            WebClient client = new WebClient();

            // Add a user agent header in case the  
            // requested URI contains a query.

            client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

            using (Stream data = client.OpenRead("http://www.google.com/alerts/feeds/11811034629636691510/10685173545303329123"))
            {
                using (StreamReader reader = new StreamReader(data))
                {
                    string s = reader.ReadToEnd();

                }
            }
        }

现在你有一个Xml格式的字符串,如果你的标题是动态的。您可以解析xml并根据Xml元素创建标题。