示例#1
0
        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);
            }));
        }
示例#2
0
        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);
            }));
        }
示例#3
0
        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);
            }));
        }
示例#4
0
        public async Task CanRetrieveFeedFromUrl()
        {
            var feed = await CoreRSSCommon.RetrieveFeedAsync(testUrl);

            Assert.That(feed, Is.Not.Null);
        }
示例#5
0
        private async Task <string> RetrieveRootElementValueAsync(string name)
        {
            var doc = await CoreRSSCommon.RetrieveFeedAsync(URL);

            return(doc.Root.ElementByName(name.ToLower())?.Value);
        }