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); }
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); }