using System; using System.Collections.Generic; using System.Linq; using System.Text; using BanTur.Core.Entity; using CodeHollow.FeedReader; using CodeHollow.FeedReader.Feeds; namespace BanTur.Core.Rss { public static class RssParser { public static BangumiEntry[] Parse(string xml) { var doc = FeedReader.ReadFromString(xml); var isFeed20 = doc.Type == FeedType.Rss_2_0; var list = new List(); foreach (var item in doc.Items) { string magnet = null; if (isFeed20) { var rss20 = (Rss20FeedItem)item.SpecificItem; if (rss20.Enclosure?.MediaType == "application/x-bittorrent") magnet = rss20.Enclosure.Url; } if (magnet == null) continue; var entry = new BangumiEntry { FetchDate = DateTime.Now, PubDate = item.PublishingDate, Magnet = magnet, Title = item.Title, Url = item.Link, }; list.Add(entry); } return list.ToArray(); } } }