- 浏览: 454058 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (211)
- java (37)
- spring相关 (3)
- struts (10)
- 面试 (1)
- jsp/servlet (18)
- 持久化框架 (1)
- IT相关新闻 (3)
- 服务器 (11)
- 插件 (4)
- pushlet (3)
- js (24)
- oracle (29)
- mysql (9)
- hibernate (5)
- 开发工具 (6)
- jquery (6)
- 页面标签jstl,el (1)
- linux (25)
- 英语 (1)
- log4j (1)
- html/css (6)
- sqlserver (2)
- dwr (1)
- 设计模式 (4)
- vmware (2)
- office (1)
- eclipse (5)
- svn (1)
- webservice (1)
最新评论
-
18335864773:
建议使用 pageoffice 组件套红
js操作word套红 -
lopez:
数据库系统的客户程序只要向数据库系统声明了一个事务,数据库系统 ...
Hibernate事物控制与管理 -
liujq4512:
删了还是没用
An internal error occurred during: "Initializing Java Tooling". -
elaine0111:
非常感谢这篇文章,嘿嘿,解决了我的问题。我把这段代码保存在我的 ...
Js设置文本框中焦点位置在最后 -
weishuguangeye:
不错!
单例模式(Singleton)
最近工作有用到web services,而这两天也比较有空,就弄了一个获取天气预报的Util。以前以为这有多难,因为数据来源是个困难。现在用web services的技术,这个就不用管了。说共享也好,说偷也好,总之是达到目的了。网上找了几个提供web services的网站。发现下面这个是相当不错的。
http://www.webxml.com.cn/Webservices/WeatherWebService.asmx
下面就用java把具体的代码写写吧!
这里我采用比较简单的get请求调用,毕竟这也没什么秘密可言,就用最简单的就可以了。
还有,这里很多捕获异常的东西给我去掉了,自己加吧!
public final class WeatherUtil{ private static String SERVICES_HOST = "www.webxml.com.cn"; private static String WEATHER_SERVICES_URL = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/"; private static String SUPPORT_CITY_URL = WEATHER_SERVICES_URL + "getSupportCity?byProvinceName=ALL"; private static String WEATHER_QUERY_URL = WEATHER_SERVICES_URL + "getWeatherbyCityName?theCityName="; private WeatherUtil(){} public static InputStream getSoapInputStream(String url) { InputStream is = null; URL U = new URL(url); URLConnection conn = U.openConnection(); conn.setRequestProperty("Host", SERVICES_HOST); conn.connect(); is = conn.getInputStream(); return is; } //取得支持的城市列表 public static ArrayList<String> getSupportCity() { ArrayList cityList = null; Document doc; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); InputStream is = getSoapInputStream(SUPPORT_CITY_URL); doc = db.parse(is); NodeList nl = doc.getElementsByTagName("string"); int len = nl.getLength(); cityList = new ArrayList<String>(len); for (int i = 0; i < len; i++) { Node n = nl.item(i); String city = n.getFirstChild().getNodeValue(); cityList.add(city); } is.close(); return cityList; } //取得城市的天气 public static ArrayList<String> getWeather(String city) { ArrayList weatherList = null; Document doc; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder();//这里他的编码格式就是这样,我试了几个也没办法。。只好这样混过去了 InputStream is = getSoapInputStream(WEATHER_QUERY_URL + new String(city.getBytes("UTF-8"), "GBK")); doc = db.parse(is); NodeList nl = doc.getElementsByTagName("string"); int len = nl.getLength(); weatherList = new ArrayList<String>(len); for (int i = 0; i < len; i++) { Node n = nl.item(i); String weather = n.getFirstChild().getNodeValue(); weatherList.add(weather); } is.close(); return weatherList; } public static void main(String[] args) throws Exception { ArrayList<String> weatherList = WeatherUtil.getWeather("59287"); // ArrayList<String> weatherList = WeatherUtil.getSupportCity(); for (String weather : weatherList) { System.out.println(weather); } }}
http://www.webxml.com.cn/Webservices/WeatherWebService.asmx
下面就用java把具体的代码写写吧!
这里我采用比较简单的get请求调用,毕竟这也没什么秘密可言,就用最简单的就可以了。
还有,这里很多捕获异常的东西给我去掉了,自己加吧!
public final class WeatherUtil{ private static String SERVICES_HOST = "www.webxml.com.cn"; private static String WEATHER_SERVICES_URL = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/"; private static String SUPPORT_CITY_URL = WEATHER_SERVICES_URL + "getSupportCity?byProvinceName=ALL"; private static String WEATHER_QUERY_URL = WEATHER_SERVICES_URL + "getWeatherbyCityName?theCityName="; private WeatherUtil(){} public static InputStream getSoapInputStream(String url) { InputStream is = null; URL U = new URL(url); URLConnection conn = U.openConnection(); conn.setRequestProperty("Host", SERVICES_HOST); conn.connect(); is = conn.getInputStream(); return is; } //取得支持的城市列表 public static ArrayList<String> getSupportCity() { ArrayList cityList = null; Document doc; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); InputStream is = getSoapInputStream(SUPPORT_CITY_URL); doc = db.parse(is); NodeList nl = doc.getElementsByTagName("string"); int len = nl.getLength(); cityList = new ArrayList<String>(len); for (int i = 0; i < len; i++) { Node n = nl.item(i); String city = n.getFirstChild().getNodeValue(); cityList.add(city); } is.close(); return cityList; } //取得城市的天气 public static ArrayList<String> getWeather(String city) { ArrayList weatherList = null; Document doc; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder();//这里他的编码格式就是这样,我试了几个也没办法。。只好这样混过去了 InputStream is = getSoapInputStream(WEATHER_QUERY_URL + new String(city.getBytes("UTF-8"), "GBK")); doc = db.parse(is); NodeList nl = doc.getElementsByTagName("string"); int len = nl.getLength(); weatherList = new ArrayList<String>(len); for (int i = 0; i < len; i++) { Node n = nl.item(i); String weather = n.getFirstChild().getNodeValue(); weatherList.add(weather); } is.close(); return weatherList; } public static void main(String[] args) throws Exception { ArrayList<String> weatherList = WeatherUtil.getWeather("59287"); // ArrayList<String> weatherList = WeatherUtil.getSupportCity(); for (String weather : weatherList) { System.out.println(weather); } }}
发表评论
-
java生成pdf以及解决中文中文乱码问题
2013-03-11 16:33 12411itext版本:5.4.0 下载 ... -
jax-ws webservice编程
2013-01-29 16:07 64761.理解JAX-WS 1.1JAX-WS概述 JAX ... -
was6.1修改java编译版本
2013-01-11 09:06 1949jsp中如果用到了jdk1.5的新特性,在was6.1下编译会 ... -
eclipse生成javadoc乱码解决方式
2013-01-11 09:05 847在Extra javadoc options下增加如下参数 j ... -
Eclipse Jee项目开发前准备 (转)
2012-12-31 09:06 1002Eclipse Jee项目编码设置 Window-> ... -
SVN 签出源码 Struts Spring Hibernate
2011-09-15 09:38 1177SVN 签出源码 Struts Spring ... -
几种Java数据库连接池实现(一)
2011-08-31 14:15 1676几种Java数据库连接池实现(一) (一) package s ... -
win7下硬盘安装ubuntu
2011-08-22 20:36 992安装方法见附件 -
比较好的java网站[推荐]
2011-04-07 12:42 15871. The Source for Java Technol ... -
jad反编译jar文件
2011-02-15 16:56 1497//首先使用jar命令将jar文件解压缩到classes目录 ... -
接口与抽象类区别
2011-01-19 15:21 656接口与抽象类区别 《设计模式Java手册》中的,觉得写得很简 ... -
正则入门
2010-12-20 13:21 870< type="text/javascript ... -
序列键生成器与单例及多例模式
2010-12-13 10:37 1089在一个关系数据库中,所有的数据都是存储在表里,而每一个表都有一 ... -
Java中日期格式转换
2010-12-10 15:35 1504Java中日期格式转换 /** * 字符串转换为jav ... -
java解压缩zip包
2010-11-10 12:32 2105package test; import java.io.B ... -
项目中常见的错误
2010-09-27 08:47 75805项目中遇到的错误(c9bcf64c) sql错误 找不到 ... -
单例模式(Singleton)
2010-09-25 22:51 1252BestUpon 写道 首先我们先 ... -
Java杂谈(十三)——ORM
2010-08-20 09:02 1121其实J2ee的规范指南 ... -
Java杂谈(十二)--JVM
2010-08-20 09:01 1034本来这次应该讲 ... -
Java杂谈(十一)--Spring
2010-08-20 09:01 893引用《Spring2.0技 ...
相关推荐
在本文中,我们将深入探讨如何利用JS获取天气预报信息,这通常涉及到API调用和JSON数据解析。 首先,天气预报信息通常是通过与气象服务提供商的API接口进行交互获取的。API(Application Programming Interface)是...
在IT行业中,自动获取天气预报系统是一个非常实用的Web应用程序,它允许用户无需手动刷新页面就能获取最新的气象信息。这个系统通常使用Ajax(Asynchronous JavaScript and XML)技术来实现,这是一种提升网页用户...
标题中的“获取天气预报API,免费接口,项目下载可运行,Java实现”表明这是一个关于使用Java语言开发的天气预报API项目,它提供了免费的API接口,并且已经打包为可直接运行的形式。这样的项目通常对开发者来说是很...
标题中的“一个REST获取天气预报的客户端小例子”是指通过RESTful API来获取天气预报数据的应用实例,分别使用了C#和jQuery两种不同的技术实现。REST(Representational State Transfer)是一种网络应用程序的设计...
### 获取天气预报信息的Web服务:关键知识点解析 #### 标题解读: “获取天气预报信息的Web服务”这一标题明确指出了文章的核心主题——如何通过Web服务接口获取天气预报数据。这通常涉及到一系列的技术细节,包括...
标题 "JS 获取天气预报的网页" 指的是一个使用JavaScript编程语言编写的网页应用,其主要功能是获取并展示中国天气网(weather.cn)的天气预报信息。这个应用可能包含了一个动态的交互机制,允许用户选择不同的城市...
总之,这个"VC获取天气预报示例程序"为初学者提供了一个很好的实践平台,展示了如何利用VC6结合网络技术实现实用的应用程序。通过深入研究和实践,不仅可以掌握VC++的基础编程,还能进一步了解网络通信和数据解析等...
HTML获取天气预报是一种常见的网页开发需求,通过集成特定的API和服务,可以实现在网页上实时显示天气信息。在这个项目中,我们看到一个专注于天气预报功能的实现,包括使用开源库、CSS样式以及自编的示例代码。接...
在这个特定的案例中,"Delphi做的获取天气预报源码"是一个项目,它利用Delphi的编程能力来获取并显示实时天气信息。这个源码可能包含了一个客户端应用程序,用户可以通过它来查询不同地区的天气预报。 在Delphi中...
利用C#制作的天气预报助手 采用vs2008开发,因为是天气预报,所以需要网络...程序启动后会获取本机IP,根据IP显示当地的天气预报,类似QQ的天气预报显示功能,不过信息更加丰富 也可以手动选择省、市、区查看天气预报。
标题中的“获取天气预报信息-XML”提示我们这个压缩包包含了一个使用XML数据来获取天气预报的程序或示例。XML(eXtensible Markup Language)是一种标记语言,常用于结构化数据的交换,特别是在网络服务和应用程序...
在IT行业中,获取天气预报信息是一项常见的任务,尤其对于初学者来说,这通常是他们学习网络数据获取和处理的起点。本教程将详细讲解如何通过XML数据格式获取并解析天气预报信息,适合对编程有一定了解但尚未深入...
在IT行业中,获取天气预报是一项常见的需求,无论是个人生活还是商业应用,都需要及时、准确的气象数据。"完整版获取天气预报"这个标题和描述暗示我们可能会涉及到一个系统或者工具,它能提供全面的天气预报服务。让...
总结来说,"使用XMLHTTP获取天气预报"这个主题涵盖了JavaScript中的Ajax技术,XMLHTTP对象的使用,JSON数据的解析,以及DOM操作等核心知识点。通过这些技术,开发者可以创建出更加交互性强、用户体验优良的网页应用...
DELPHI 通过WEBSERVICE获取天气预报,可获取全球,全国各省市天气预报详情
function getWeatherInfo { $ getScript "... + $ param { city : $ "#position" val 城市 day : 0 password : "DJOYnieT8234jlsK"... } function json { ...weather &qu [更多]
本工具使用C#语言开发WinFrom软件,根据国家气象局天气预报接口获取未来十五天天气预报。只用来新手学习,里边主要涉及到Url请求,Json转List,Json转model。
在Android开发中,获取天气预报是一项常见的功能,它允许用户查询特定城市的实时及未来几天的天气情况。要实现这个功能,开发者需要理解网络请求、JSON解析、数据展示等多个技术环节。下面将详细介绍如何在Android中...
"使用Web Service获取天气预报" 在本篇文章中,我们将学习如何使用Web Service获取天气预报。Web Service是一种基于网络的远程调用技术,允许不同的应用程序之间进行交互和数据交换。通过使用Web Service,我们可以...