private BaseFeedItem ParseRss20SingleItem(XmlNode itemNode) { var titleNode = itemNode.SelectSingleNode("title"); var datePublishedNode = itemNode.SelectSingleNode("pubDate"); var authorNode = itemNode.SelectSingleNode("author"); var commentsNode = itemNode.SelectSingleNode("comments"); var idNode = itemNode.SelectSingleNode("guid"); var contentNode = itemNode.SelectSingleNode("description"); var linkNode = itemNode.SelectSingleNode("link"); BaseFeedItem item = new Rss20FeedItem { Title = titleNode == null ? string.Empty : titleNode.InnerText, DatePublished = datePublishedNode == null ? DateTime.UtcNow : SafeGetDate(datePublishedNode.InnerText), Author = authorNode == null ? string.Empty : authorNode.InnerText, Comments = commentsNode == null ? string.Empty : commentsNode.InnerText, Id = idNode == null ? string.Empty : idNode.InnerText, Content = contentNode == null ? string.Empty : contentNode.InnerText, Link = linkNode == null ? string.Empty : linkNode.InnerText }; var categoryNodes = itemNode.SelectNodes("category"); if (categoryNodes != null) { foreach (XmlNode categoryNode in categoryNodes) { item.Categories.Add(categoryNode.InnerText); } } return(item); }
protected virtual BaseFeedItem ParseRss20SingleItem(XElement itemNode) { var titleNode = itemNode.Element("title"); var datePublishedNode = itemNode.Element("pubDate"); var authorNode = itemNode.Element("author"); var commentsNode = itemNode.Element("comments"); var idNode = itemNode.Element("guid"); var contentNode = itemNode.Element("description"); var linkNode = itemNode.Element("link"); Rss20FeedItem item = CreateRss20FeedItem(); item.Title = titleNode == null ? string.Empty : titleNode.Value; item.DatePublished = datePublishedNode == null ? DateTime.UtcNow : SafeGetDate(datePublishedNode.Value); item.Author = authorNode == null ? string.Empty : authorNode.Value; item.Comments = commentsNode == null ? string.Empty : commentsNode.Value; item.Id = idNode == null ? string.Empty : idNode.Value; item.Content = contentNode == null ? string.Empty : contentNode.Value; item.Link = linkNode == null ? string.Empty : linkNode.Value; var categoryNodes = itemNode.Elements("category"); foreach (var categoryNode in categoryNodes) { item.Categories.Add(categoryNode.Value); } return(item); }
private static RssItem ToItem(Rss20FeedItem item) { return(new RssItem { Title = item.Title, Link = item.Link, Description = item.Description, Author = item.Author, Comments = item.Comments, ImageUrl = item.Enclosure.Url, Guid = item.Guid, PublishingDateString = item.PublishingDateString, PublishingDate = item.PublishingDate, Content = item.Content }); }
private BaseFeedItem ParseRss20SingleItem(XmlNode itemNode) { var titleNode = itemNode["title"]; var datePublishedNode = itemNode["pubDate"]; var authorNode = itemNode["author"]; var commentsNode = itemNode["comments"]; var idNode = itemNode["guid"]; var contentNode = itemNode["description"]; var linkNode = itemNode["link"]; BaseFeedItem item = new Rss20FeedItem { Title = titleNode == null ? string.Empty : titleNode.InnerText, DatePublished = datePublishedNode == null ? DateTime.UtcNow : SafeGetDate(datePublishedNode.InnerText), Author = authorNode == null ? string.Empty : authorNode.InnerText, Comments = commentsNode == null ? string.Empty : commentsNode.InnerText, Id = idNode == null ? string.Empty : idNode.InnerText, Content = contentNode == null ? string.Empty : contentNode.InnerText, Link = linkNode == null ? string.Empty : linkNode.InnerText }; var categoryNodes = itemNode["category"]; if (categoryNodes != null) { foreach (XmlNode categoryNode in categoryNodes) { item.Categories.Add(categoryNode.InnerText); } } return item; }