java util :获取国家省份城市工具类
2016-08-26 09:57
148 查看
java获取全国各地省份、城市名称
自己封装的java工具类,可以用来获取各地的省份城市名称。项目文件存在了云盘,直达链接:http://pan.baidu.com/s/1o82dPNG 密码:dgcg一、需要准备一下几个东西:
1. qq安装目录下的地区xml
2.dom4j jar 包
下载地址:http://www.dom4j.org/dom4j-1.6.1/
二、代码
package cn.wtzvae.util; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; /** * 选择地区工具,包含全国各地省级市级 * @author LiuJinan * */ public class LocalUtil { //各地区xml文件路径 private static final String LOCAL_LIST_PATH = "config/LocList.xml"; //所有国家名称List private static final List<String> COUNTRY_REGION = new ArrayList<String>(); private static LocalUtil localutil; private SAXReader reader; private Document document; private Element rootElement; //根元素 //初始化 private LocalUtil(){ //1.读取 reader = new SAXReader(); try { document = reader.read(LOCAL_LIST_PATH); } catch (DocumentException e) { e.printStackTrace(); } //2.获得根元素 rootElement = document.getRootElement(); //3.初始化所有国家名称列表 Iterator it = rootElement.elementIterator(); Element ele = null; while(it.hasNext()){ ele = (Element)it.next(); COUNTRY_REGION.add(ele.attributeValue("Name")); } } /** * * @author LiuJinan * @TODO 功能: 获取所有国家名称 * @time 2016-8-26 上午9:02:05 * @return List<String> */ public List<String> getCountry(){ return COUNTRY_REGION; } /** * * @author LiuJinan * @TODO 功能: 根据国家名获取该国所有省份 * @time 2016-8-26 上午9:07:21 * @param countryName 国家名,从getCountry()从取出 * @return List<Element> */ private List<Element> provinces(String countryName){ Iterator it = rootElement.elementIterator(); List<Element> provinces = new ArrayList<Element>(); Element ele = null; while(it.hasNext()){ ele = (Element)it.next(); COUNTRY_REGION.add(ele.attributeValue("Name")); if(ele.attributeValue("Name").equals(countryName)){ provinces = ele.elements(); break; } } return provinces; } /** * * @author LiuJinan * @TODO 功能: 根据国家名获取该国所有省份 * @time 2016-8-26 上午9:07:21 * @param countryName 国家名,从getCountry()从取出 * @return List<String> */ public List<String> getProvinces(String countryName){ List<Element> tmp = this.provinces(countryName); List<String> list = new ArrayList<String>(); for(int i=0; i<tmp.size(); i++){ list.add(tmp.get(i).attributeValue("Name")); } return list; } /** * * @author LiuJinan * @TODO 功能:根据国家名和省份名,获取该省城市名列表 * @time 2016-8-26 上午9:15:24 * @param province * @param provinceName * @return */ private List<Element> cities(String countryName, String provinceName){ List<Element> provinces = this.provinces(countryName); List<Element> cities = new ArrayList<Element>(); if(provinces==null || provinces.size()==0){ //没有这个城市 return cities; } for(int i=0; i<provinces.size(); i++){ if(provinces.get(i).attributeValue("Name").equals(provinceName)){ cities = provinces.get(i).elements(); break; } } return cities; } /** * * @author LiuJinan * @TODO 功能:根据国家名和省份名获取城市列表 * @time 2016-8-26 下午4:55:55 * @param countryName * @param provinceName * @return List<String> */ public List<String> getCities(String countryName, String provinceName){ List<Element> tmp = this.cities(countryName, provinceName); List<String> cities = new ArrayList<String>(); for(int i=0; i<tmp.size(); i++){ cities.add(tmp.get(i).attributeValue("Name")); } return cities; } public static LocalUtil getInstance(){ if(localutil==null){ localutil = new LocalUtil(); } return localutil; } }
三、测试
package test; import java.util.List; import cn.wtzvae.util.LocalUtil; public class TestLocalUtil { public static void main(String[] args) { LocalUtil lu = LocalUtil.getInstance(); List<String> list = lu.getCities("中国", "广东"); for(int i=0; i<list.size(); i++){ System.out.print(list.get(i) + " "); } } }
相关文章推荐
- java util :获取国家省份城市工具类
- java util :获取国家省份城市工具类
- php依据地理坐标获取国家、省份、城市,及周边数据类
- 一个简单客户端获取IP,国家,城市,省份的代码
- java获取客户端登陆地址信息(国家、省份、城市等)
- php根据地理坐标获取国家、省份、城市,及周边数据类
- js 获取当前国家 省份 城市等信息
- 最简单js 获取当前国家 省份 城市等信息
- php根据地理坐标获取国家、省份、城市,及周边数据类
- java获取客户端登陆地址信息(国家、省份、城市等)
- php根据地理坐标获取国家、省份、城市,及周边数据类
- js 获取当前国家 省份 城市等信息
- Ajax通过XML异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
- 百度地图 根据坐标,获取省份,城市,区域
- 获取当前国家省份地区
- 全球78707个主要城市数据库,包含经纬度坐标值、国家、省份
- js国家省份城市 级联 ,只有点中国的时候才可以选省份,城市
- Java利用Request请求如何获取IP地址对应的省份、城市详解
- Android 实现省份城市的选择,并获取城市编号
- hive UDF 分享 通过IP地址获取 IDC/省份/城市