qq QQ 全世界国家和地区代码获取 java

java配的工具类足够,下载安装QQ,然后搜索安装目录下LocList.xml文件

以下就是解析这个文件的代码,输出为一堆sql,你懂得,如果要json对象

那修改printNode就可以了

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class TestXML {

	private static void printNode(Node n, Node parent, int level ) {
		parent = parent==null? n:parent; 
		System.out.println("insert into world_country(id,name, pid, level)values( "
					+ n.getAttributes().getNamedItem("Code").getNodeValue()+","
					+ "\""+ n.getAttributes().getNamedItem("Name").getNodeValue()+"\","
					+ "\""+ parent.getAttributes().getNamedItem("Code").getNodeValue() +"\","
					+ level 
					+");"
					);
	}

	public static void main(String[] args) {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        try {
            DocumentBuilder db = dbf.newDocumentBuilder();
            Document document = db.parse("C:\\tmp\\LocList.xml");
            NodeList l = document.getElementsByTagName("CountryRegion");
            System.out.println("一共有" + l.getLength() + "个国家");
            for (int i = 0; i < l.getLength(); i++) {//州
                Node n = l.item(i);
                printNode(n,null,1);
                NodeList childNodes = n.getChildNodes();
                for (int k = 0; k < childNodes.getLength(); k++) {
                	Node n2 = childNodes.item(k);
                	if("State".equals(n2.getNodeName())){ 
                		if(n2.getAttributes().getNamedItem("Name")==null){
                			NodeList childNodesS = n2.getChildNodes(); 
                			for(int z = 0; z < childNodesS.getLength(); z++) {
                    			Node ns = childNodesS.item(z);
                    			if("City".equals(ns.getNodeName())){ 
//                    				System.out.println("这个国家没有州");
                    				printNode(ns,n,3);
                    			}
                    		}
                			continue; 
                		}
                		printNode(n2,n,2);
                		NodeList childNodes2 = n2.getChildNodes();
                		for(int u = 0; u < childNodes2.getLength(); u++) {
                			Node n3 = childNodes2.item(u);
                			if("City".equals(n3.getNodeName())){ 
                				printNode(n3,n2,3);
                			}
                		}
                	}
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } 
	}
}
时间: 2024-08-27 04:29:10

qq QQ 全世界国家和地区代码获取 java的相关文章

java中通过代码获取java信息,如虚拟机,版本,路径等等

package com.itm.path; public class TestSystemproperty{ public static void main(String[] args){ System.out.println("Java运行时环境版本:\n"+System.getProperty("java.version")); System.out.println("Java 运行时环境供应商:\n"+System.getProperty(

快速获取Windows系统上的国家和地区信息

Windows系统上包含了200多个国家和地区的数据,有时候编程需要这些资料.以下代码可以帮助你快速获取这些信息.将Console语句注释掉,可以更快的完成分析. 1 static void Main(string[] args) { 2 Console.WriteLine("Start!"); 3 // 这里可以修改文件路径和文件名称. 4 var sw = new StreamWriter(new FileStream("RegionInfo.txt", Fil

基于jQuery仿QQ音乐播放器网页版代码

基于jQuery仿QQ音乐播放器网页版代码是一款黑色样式风格的网页QQ音乐播放器样式代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="m_player" id="divplayer" role="application" onselectstart="return false" style="left: 0px;"> <div class=&

相似QQ对话框上下部分可拖动代码

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>类似QQ对话框上下部分可拖动代码-样例代码</title> <style> ul,li{margin:0;padding:0;} body{font:14px/1.5 Ar

类似QQ对话框上下部分可拖动代码

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>类似QQ对话框上下部分可拖动代码-例子代码</title><style>ul,li{margin:0;padding:0;}body{font:14px/1.5 Arial;col

根据车籍地获取地区代码(城市)

json文件CityInfo.json 内容如下 {CodeInfo:[{"Hp":"冀A","city":"石家庄","province":"河北","Pcode":"HB","AreaCode":"130100"},{"Hp":"冀B","city&quo

开源免费的天气预报接口API以及全国所有地区代码(国家气象局提供)

天气预报一直是各大网站的一个基本功能,最近小编也想在网站上弄一个,得瑟一下,在网络搜索了很久,终于找到了开源免费的天气预报接口API以及全国所有地区代码(国家气象局提供),具体如下: 国家气象局提供的天气预报接口 http://www.weather.com.cn/data/sk/101010100.html http://www.weather.com.cn/data/cityinfo/101010100.html http://m.weather.com.cn/data/101010100.

开源免费天气预报接口API以及全国全部地区代码!!(国家气象局提供)

国家气象局提供的天气预报接口 接口地址: http://www.weather.com.cn/data/sk/101010100.html http://www.weather.com.cn/data/cityinfo/101010100.html http://m.weather.com.cn/data/101010100.html 对于第三个接口,返回信息比較全面,也是以json格式提供,格式例如以下 {"weatherinfo": { //基本信息; "city&quo

神奇的Grails:自关联的树状Domain一行代码获取所有子节点

见证Groovy/Grails的神奇时刻到了,你相信吗?用一行代码就可以获取树状结构中某节点下的所有全部子节点!注意:这个树是无深度限制的.无深度限制这点很重要,如果有限深度的树,那我们也很容易通过层级编码用“Like 001%”方式实现(维护编码也是一个有挑战性活).我们以一个非常常见的“类别”Domain为例,大类分小类,小类再细分,典型的树形结构,看看Grails是如何以简洁的语法表达的,体验Groovy语法的神奇! class Group{ String name static hasM