Channel9Downloader.DataAccess.RssRepository.ParseRssItems C# (CSharp) Method

ParseRssItems() private method

Parses RSS feed data.
private ParseRssItems ( System.Xml.Linq.XDocument doc ) : List
doc System.Xml.Linq.XDocument The document to parse.
return List
        private List<RssItem> ParseRssItems(XDocument doc)
        {
            var items = from item in doc.Element("rss").Element("channel").Elements("item")
                        where item.Element(_media + "group") != null
                        select
                            new RssItem
                                {
                                    Description = HttpUtility.HtmlDecode(item.Element("title").Value),
                                    Guid = item.Element("guid").Value,
                                    MediaGroup = (from content in item.Element(_media + "group").Elements(_media + "content")
                                                  select
                                                      new MediaContent
                                                          {
                                                              FileSize = int.Parse(content.Attribute("fileSize").Value),
                                                              Medium = content.Attribute("medium").Value,
                                                              Type = content.Attribute("type").Value,
                                                              Url = content.Attribute("url").Value
                                                          }).ToList(),
                                    PubDate = DateTime.Parse(item.Element("pubDate").Value),
                                    Summary = HttpUtility.HtmlDecode(item.Element(_itunes + "summary").Value),
                                    Title = HttpUtility.HtmlDecode(item.Element("title").Value),
                                    Thumbnails = (from thumbnail in item.Elements(_media + "thumbnail")
                                                  select
                                                      new Thumbnail
                                                          {
                                                              Height = int.Parse(thumbnail.Attribute("height").Value),
                                                              Url = thumbnail.Attribute("url").Value,
                                                              Width = int.Parse(thumbnail.Attribute("width").Value)
                                                          }).ToList()
                                };

            return items.Where(p => p.MediaGroup.Any(m => m.Medium == "video" && m.Type == "video/x-ms-wmv")).ToList();
        }