分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
1. http://www.ayandy.com/Service.asmx?wsdl
2. http://www.webservicex.net/globalweather.asmx?wsdl(英文的)
example:http://www.webservicex.net/globalweather.asmx/GetWeather?CityName=dalian&CountryName=china
3. http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
网站:http://www.webxml.com.cn/zh_cn/index.aspx ,此网站提供各种webservice接口;
java程序:
public class WeatherUtil {
private static String SERVICES_HOST = "www.webxml.com.cn";
private static String WEATHER_SERVICES_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/";
private static String PROVINCE_CODE_URL = WEATHER_SERVICES_URL
+ "getRegionProvince";
private static String CITY_CODE_URL = WEATHER_SERVICES_URL
+ "getSupportCityString?theRegionCode=";
private static String WEATHER_QUERY_URL = WEATHER_SERVICES_URL
+ "getWeather?theUserID=&theCityCode=";
private WeatherUtil(){}
public static void main(String[] args) throws Exception{
int provinceCode = getProvinceCode("辽宁"); //3119
int cityCode = getCityCode(provinceCode, "大连"); //974
List<String> weatherList = getWeather(cityCode);
for(String weather:weatherList){
System.out.println(weather);
}
}
public static int getProvinceCode(String provinceName){
Document document;
DocumentBuilderFactory documentBF = DocumentBuilderFactory.newInstance();
documentBF.setNamespaceAware(true);
int provinceCode = 0;
try{
DocumentBuilder documentB = documentBF.newDocumentBuilder();
InputStream inputStream = getSoapInputStream(PROVINCE_CODE_URL); //具体webService相关
document = documentB.parse(inputStream);
NodeList nodeList = document.getElementsByTagName("string"); //具体webService相关
int len = nodeList.getLength();
for(int i = 0; i < len; i++){
Node n = nodeList.item(i);
String result = n.getFirstChild().getNodeValue();
String[] address = result.split(",");
String pName = address[0];
String pCode = address[1];
if(pName.equalsIgnoreCase(provinceName)){
provinceCode = Integer.parseInt(pCode);
}
}
inputStream.close();
}catch(DOMException e){
e.printStackTrace();
}catch(ParserConfigurationException e){
e.printStackTrace();
}catch (SAXException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
return provinceCode;
}
public static int getCityCode(int provinceCode, String cityName){
Document doc;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
int cityCode = 0;
try{
DocumentBuilder db = dbf.newDocumentBuilder();
InputStream is = getSoapInputStream(CITY_CODE_URL + provinceCode); //具体webService相关
doc = db.parse(is);
NodeList nl = doc.getElementsByTagName("string"); //具体webService相关
int len = nl.getLength();
for(int i = 0; i < len; i++){
Node n = nl.item(i);
String result = n.getFirstChild().getNodeValue();
String[] address = result.split(",");
String cName = address[0];
String cCode = address[1];
if(cName.equalsIgnoreCase(cityName)){
cityCode = Integer.parseInt(cCode);
}
}
is.close();
}catch(DOMException e){
e.printStackTrace();
}catch(ParserConfigurationException e){
e.printStackTrace();
}catch (SAXException e){
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
return cityCode;
}
public static InputStream getSoapInputStream(String url){
InputStream inputStream = null;