我想閱讀使用LINQ到XML的堆棧溢出rss飼料。我無法獲取入口節點,因爲它正在返回空列表。這個我已經嘗試過了,有沒有人可以指出我在這裏做錯了什麼?如何閱讀使用LINQ的XML Stackoverflow RSS訂閱
在這裏,我結合網格視圖:
private void StackoverflowFeedList()
{
grdFeedView.DataSource = StackoverflowUtils.GetStackOverflowFeeds();
grdFeedView.DataBind();
}
這是會得到該方法的所有提要:
public static IEnumerable<StackOverflowFeedItems> GetStackOverflowFeeds()
{
XNamespace Snmp = "http://www.w3.org/2005/Atom";
XDocument RssFeed = XDocument.Load(@"http://stackoverflow.com/feeds");
var posts = from item in RssFeed.Descendants("entry")
select new StackOverflowFeedItems
{
QuestionID = item.Element(Snmp +"id").Value,
QuestionTitle = item.Element(Snmp +"title").Value,
AuthorName = item.Element(Snmp +"name").Value,
CategoryTag = (from category in item.Elements(Snmp +"category")
orderby category
select category.Value).ToList(),
CreatedDate = DateTime.Parse(item.Element(Snmp +"published").Value),
QuestionSummary = item.Element(Snmp +"summary").Value
};
return posts.ToList();
}
這是我使用綁定類:
public class StackOverflowFeedItems
{
public string QuestionID { get; set; }
public string QuestionTitle { get; set; }
public IEnumerable<string> CategoryTag { get; set; }
public string AuthorName { get; set; }
public DateTime CreatedDate { get; set; }
public string QuestionSummary { get; set; }
}
爲什麼你不想對SyndicationFeed類使用「經典」方法? http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.syndicationfeed.aspx – 2012-01-27 10:12:07