public void UpdateRoads() { List <CityModel> cityModels = CityURLConfig.GetInstance().cityURLConfig.cityModels; List <CityRoad> cityRoads = CityRoadConfig.GetInstance().cityRoadConfig.cityRoadList; cityRoads.Clear(); k = 0; count = cityModels.Count; foreach (CityModel mode in cityModels) { k++; string url = mode.URL; CityRoad road = GetRoadsByCityName(url, mode.name, cityModels.Count); road.cityName = mode.name.TrimEnd(new char[] { '地', '图' }); cityRoads.Add(road); //CityURLConfig.GetInstance().saveConfig(); CityRoadConfig.GetInstance().SaveConfig(); } if (this.cityRoadLoadLog != null) { string log = "下载完成"; int process = 100; this.cityRoadLoadLog(log, process); } }
public void UpdateRoads() { string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "config/mapbar.xml"); List <CityModel> cityModels = CityURLConfig.GetInstance(filePath).cityURLConfig.cityModels; filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "config/mapbarCityRoadConfig.xml"); List <CityRoad> cityRoads = CityRoadConfig.GetInstance(filePath).cityRoadConfig.cityRoadList; cityRoads.Clear(); k = 0; count = cityModels.Count; foreach (CityModel mode in cityModels) { k++; string url = mode.URL; CityRoad road = GetRoadsByCityName(url, mode.name, cityModels.Count); road.cityName = mode.name.TrimEnd(new char[] { '地', '图' }); cityRoads.Add(road); CityRoadConfig.GetInstance().SaveConfig(); } if (this.cityRoadLoadLog != null) { string log = "下载完成"; int process = 100; this.cityRoadLoadLog(log, process); } }
/// <summary> /// 获取全国市区地图地址URL /// </summary> public void UpdataCityURL() { List <CityModel> cityModels = CityURLConfig.GetInstance().cityURLConfig.cityModels; cityModels.Clear(); string url = String.Format("http://www.city8.com/#cityaf"); try { HttpWebResponse hp = HttpHelper.CreateGetHttpResponse(url, 1000, "", null); string context = HttpHelper.GetResponseString(hp); HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument(); htmlDoc.LoadHtml(context); // 加载html页面 HtmlNode navNode = htmlDoc.DocumentNode; HtmlAgilityPack.HtmlNodeCollection nodes = navNode.SelectNodes("//div[@class='v5_ll_test']/ul/li/a"); foreach (HtmlNode htmlNode in nodes) { CityModel model = new CityModel(); string name = htmlNode.InnerText.Trim(); model.name = name; model.URL = htmlNode.Attributes["href"].Value; if (this.cityRoadLoadLog != null) { string log = "正在下载城市:" + name; int process = 100; this.cityRoadLoadLog(log, process); } } CityURLConfig.GetInstance().SaveConfig(); } catch { MessageBox.Show("更新失败"); } }
/// <summary> /// 获取配置信息(单例模式) /// </summary> /// <returns></returns> public static CityURLConfig GetInstance(string path = "") { return(instance ?? (instance = new CityURLConfig(path))); }