Пример #1
0
        private List <YandexResult> YandexGeocodeResult(XmlDocument document)
        {
            List <YandexResult> results     = new List <YandexResult>();
            XmlNodeList         xmlNodeList = document.GetElementsByTagName("featureMember");

            if (xmlNodeList.Count == 0)
            {
                return(results);
            }

            foreach (XmlNode xmlNode in xmlNodeList)
            {
                var xml = new XmlDocument();
                xml.LoadXml(xmlNode.InnerXml);

                var result = new YandexResult
                {
                    Address   = xml.GetElementsByTagName("text")[0].InnerText,
                    Precision = xml.GetElementsByTagName("precision")[0].InnerText,
                    Position  = xml.GetElementsByTagName("pos")[0].InnerText,
                };

                results.Add(result);
            }

            return(results);
        }
Пример #2
0
        private static List <ISearchResult> GetYandexImages(HtmlDocument doc)
        {
            var tagsItem = doc.DocumentNode.SelectNodes("//a[contains(@class, 'Tags-Item')]");

            var sizeTags = tagsItem.Where(sx =>
                                          !sx.ParentNode.ParentNode.Attributes["class"].Value.Contains("CbirItem"));


            var images = new List <ISearchResult>();

            foreach (var siz in sizeTags)
            {
                var link = siz.Attributes["href"].Value;

                var resText  = siz.FirstChild.InnerText;
                var resFull  = resText.Split('×');
                var w        = Int32.Parse(resFull[0]);
                var h        = Int32.Parse(resFull[1]);
                var totalRes = w * h;

                if (totalRes >= TOTAL_RES_MIN)
                {
                    var restRes = Network.GetSimpleResponse(link);

                    if (restRes.StatusCode != HttpStatusCode.NotFound)
                    {
                        var yi = new YandexResult(w, h, link);

                        images.Add(yi);
                    }
                }


                // todo
            }

            return(images);
        }