public async Task <IEnumerable <Item> > ItemsAsync() { var doc = await CoreRSSCommon.RetrieveFeedAsync(URL); var entries = doc.Root?.ElementsByName("entry"); return(entries.Select(e => { var date = DateTime.Parse(e.ElementValueByName("published")); var content = e.ElementValueByName("content"); var title = e.ElementValueByName("title"); var link = e.ElementByName("link")?.Attribute("href")?.Value; return Item.CreateItem(title, content, date, link); })); }
public async Task <IEnumerable <Item> > ItemsAsync() { var doc = await CoreRSSCommon.RetrieveFeedAsync(URL); var channel = doc.Root.ElementByName("channel"); var entries = channel.ElementsByName("item"); return(entries.Select(e => { var date = DateTime.Parse(e.ElementValueByName("pubDate")); var content = e.ElementValueByName("description"); var title = e.ElementValueByName("title"); var link = e.ElementValueByName("link"); return Item.CreateItem(title, content, date, link); })); }
public IEnumerable <Item> ParseXml(String xml) { var doc = CoreRSSCommon.RetrieveFeedFromString(xml); var channel = doc.Root.ElementByName("channel"); var entries = channel.ElementsByName("item"); return(entries.Select(e => { var date = DateTime.Parse(e.ElementValueByName("pubDate")); var content = e.ElementValueByName("description"); var title = e.ElementValueByName("title"); var link = e.ElementValueByName("link"); return Item.CreateItem(title, content, date, link); })); }
public async Task CanRetrieveFeedFromUrl() { var feed = await CoreRSSCommon.RetrieveFeedAsync(testUrl); Assert.That(feed, Is.Not.Null); }
private async Task <string> RetrieveRootElementValueAsync(string name) { var doc = await CoreRSSCommon.RetrieveFeedAsync(URL); return(doc.Root.ElementByName(name.ToLower())?.Value); }