Google Alerts RSS Feed в приложении MVC

Полное раскрытие: я новичок в приложениях MVC, поэтому я могу быть далеко от моего подхода здесь. Это была очень крутая кривая обучения.

Мне поручено разработать приложение MVC, которое может отображать настройки RSS-канала через Google Alerts. Ниже приведена ссылка на пример канала предупреждений, который я настроил для "наркоманов" и который я пытаюсь прочитать:

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

Как я могу загрузить все поля ввода в ленте в структуру данных, которая может быть отображена в виде? Я столкнулся с проблемами при попытке загрузить URL-адрес в XmlReader с помощью функции Create(), а также XDocument с помощью функции Load(). Я продолжаю получать XmlException для Uri.

В качестве структуры данных фида я использую следующее:

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

Меня сейчас не беспокоит фактическое отображение, я просто обеспокоен загрузкой данных фида в классы. Может кто-нибудь помочь или указать мне в правильном направлении?

1 ответ

Да, вы можете получить исключения XML при попытке прочитать XmlReader даже я не совсем уверен, почему. Что вы можете сделать, это получить 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 Elements.

Другие вопросы по тегам