public override AvailableEpisodes GetAvailableEpisodes(string progExtId, ProgrammeInfo progInfo, int page) { AvailableEpisodes available = new AvailableEpisodes(); XmlDocument rss = this.LoadFeedXml(new Uri(progExtId)); XmlNodeList itemNodes = null; itemNodes = rss.SelectNodes("./rss/channel/item"); if (itemNodes == null) { return(available); } foreach (XmlNode itemNode in itemNodes) { string itemId = this.ItemNodeToEpisodeID(itemNode); if (string.IsNullOrEmpty(itemId)) { continue; } if (this.FilterItemNode(itemNode)) { continue; } available.EpisodeIds.Add(itemId); } return(available); }
public AvailableEpisodes GetAvailableEpisodes(string progExtId, ProgrammeInfo progInfo, int page) { AvailableEpisodes available = new AvailableEpisodes(); XmlDocument rss = this.LoadFeedXml(new Uri(progExtId)); XmlNodeList itemNodes = null; itemNodes = rss.SelectNodes("./rss/channel/item"); if (itemNodes == null) { return(available); } List <string> episodeIDs = new List <string>(); foreach (XmlNode itemNode in itemNodes) { string itemId = this.ItemNodeToEpisodeID(itemNode); if (!string.IsNullOrEmpty(itemId)) { episodeIDs.Add(itemId); } } available.EpisodeIds = episodeIDs.ToArray(); return(available); }
public override AvailableEpisodes GetAvailableEpisodes(string progExtId, ProgrammeInfo progInfo, int page) { AvailableEpisodes available = new AvailableEpisodes(); XmlDocument rss = this.LoadFeedXml(new Uri(progExtId)); XmlNodeList itemNodes = null; itemNodes = rss.SelectNodes("./rss/channel/item"); if (itemNodes == null) { return(available); } foreach (XmlNode itemNode in itemNodes) { string itemId = this.ItemNodeToEpisodeID(itemNode); if (string.IsNullOrEmpty(itemId)) { continue; } if (itemNode.SelectSingleNode("./title[text()]") == null) { continue; } var urlAttrib = itemNode.SelectSingleNode("./enclosure/@url") as XmlAttribute; if (urlAttrib == null) { continue; } Uri uri; Uri.TryCreate(urlAttrib.Value, UriKind.Absolute, out uri); if (uri == null) { continue; } available.EpisodeIds.Add(itemId); } return(available); }