Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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;
        }