2013-10-15 41 views
0

完全披露:我是MVC應用程序的全新產品,所以我可以在這裏使用我的方法。這是一個非常陡峭的學習曲線。Google Alerts在MVC應用程序中的RSS提要

我的任務是開發一個MVC應用程序,該應用程序可以通過Google快訊顯示RSS提要。 以下是「藥物胸像」一個例子警報飼料的鏈接我設置和我試圖閱讀:

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

我怎樣才能加載所有的「入口」字段將數據提供到可以在視圖中顯示的數據結構中? 我遇到了嘗試使用Create()函數以及使用Load()函數的XDocument將URL加載到XmlReader中的問題。我不斷收到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; } 
} 

我現在我並不擔心實際的顯示,我只是關心的飼料數據加載到的類。任何人都可以幫助或指向正確的方向嗎?

+0

你可以顯示'Create()'函數的代碼嗎? –

+0

'XmlReader reader = XmlReader.Create(「http://www.google.com/alerts/feeds/11811034629636691510/10685173545303329123」);' – user1515928

+0

奇怪的是我沒有得到那個時間的錯誤。一旦讀者被設置爲那個,我該如何使用它來訪問這些字段? – user1515928

回答

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 Elements創建標題。