0

完全披露:我对 MVC 应用程序是全新的,所以我的方法可能会偏离这里。这是一个非常陡峭的学习曲线。

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

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

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

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

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; }
}

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

4

1 回答 1

0

XmlReader是的,即使我不完全确定原因,您在尝试阅读时也可能会遇到 XML 异常。你能做的就是得到HttpResponse. http://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 元素创建标头。

于 2013-10-16T14:23:32.090 回答