Example #1
0
        private Task<XkcdContentProvider.XkcdComicInfo> ExtractFromResponse(ContentProviderHttpRequest request)
        {
            return Http.GetAsync(request.RequestUri).Then(response =>
            {
                var comicInfo = new XkcdComicInfo();

                using (var responseStream = response.GetResponseStream())
                {
                    var htmlDocument = new HtmlDocument();
                    htmlDocument.Load(responseStream);
                    htmlDocument.OptionFixNestedTags = true;

                    var comic = htmlDocument.DocumentNode.SelectSingleNode("//div[@id='comic']/img");

                    if (comic == null)
                    {
                        return null;
                    }

                    comicInfo.Title = comic.Attributes["alt"].Value;
                    comicInfo.ImageUrl = comic.Attributes["src"].Value;
                    comicInfo.Description = comic.Attributes["title"].Value;

                }

                return comicInfo;
            });
        }
Example #2
0
        private Task <XkcdContentProvider.XkcdComicInfo> ExtractFromResponse(ContentProviderHttpRequest request)
        {
            return(Http.GetAsync(request.RequestUri).Then(response =>
            {
                var comicInfo = new XkcdComicInfo();

                using (var responseStream = response.GetResponseStream())
                {
                    var htmlDocument = new HtmlDocument();
                    htmlDocument.Load(responseStream);
                    htmlDocument.OptionFixNestedTags = true;

                    var comic = htmlDocument.DocumentNode.SelectSingleNode("//div[@id='comic']/img");

                    if (comic == null)
                    {
                        return null;
                    }

                    comicInfo.Title = comic.Attributes["alt"].Value;
                    comicInfo.ImageUrl = comic.Attributes["src"].Value;
                    comicInfo.Description = comic.Attributes["title"].Value;
                }

                return comicInfo;
            }));
        }