RDFReader.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. namespace FormulaOneApp.Rss.Readers
  2. {
  3. using System.Xml.Linq;
  4. using Helpers;
  5. using Models;
  6. internal class RDFReader : BaseRss
  7. {
  8. private readonly XNamespace _nsRdfElementsNamespaceUri = "http://purl.org/dc/elements/1.1/";
  9. protected override RssItem ParseItem(XElement item)
  10. {
  11. var rssItem = new RssItem
  12. {
  13. Title = item.GetSafeElementString("title"),
  14. Link = item.GetSafeElementString("link"),
  15. Image = item.GetImage()
  16. };
  17. string description = item.GetSafeElementString("description");
  18. rssItem.Description = !string.IsNullOrEmpty(description)
  19. ? description
  20. : item.GetSafeElementString("content");
  21. rssItem.PublishDate = item.GetSafeElementDate("date", _nsRdfElementsNamespaceUri);
  22. rssItem.Guid = item.GetSafeElementString("identifier", _nsRdfElementsNamespaceUri);
  23. //Use the element's link as guid if necessary
  24. if (string.IsNullOrEmpty(rssItem.Guid))
  25. rssItem.Guid = rssItem.Link;
  26. return rssItem;
  27. }
  28. }
  29. }