获取天气状况(一)

方式一、
新浪为我们提供了天气预报获取接口API  http://php.weather.sina.com.cn/xml.php?city=武汉&password=DJOYnieT8234jlsK&day=0  其中city=后面跟各城市的中文,比如北京,台北。。 day=后面接0 1 2  3 4 这个四个数字,0 表示当天的天气,1表示第二天的天气,以此类推。打开的是XML文件。
话不多说了,上代码:
public class GetWeather {   
    static String[] city={"北京","天津","上海","重庆","石家庄","太原","沈阳","长春","哈尔滨","南京","杭州","合肥","福州","南昌","济南","郑州","武汉","长沙","广州","海口","成都","贵阳","昆明","西安","兰州","西宁","拉萨","南宁","呼和浩特","银川","乌鲁木齐","香港","台北","澳门"};  //各个城市
    static int[] day={0,1,2,3,4};   //哪一天的天气
    static String weather;  //保存天气情况
    static String high;  //保存当天最高温度
    static String low;  //保存当天最低温度
    public void getweather()   //获取天气函数
    {   
        URL ur;  
             
        try {  
           
         DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();  //相关这个类的使用,可以去网上搜索,下同,不做详细介绍
         DocumentBuilder dombuilder=domfac.newDocumentBuilder();
         Document doc;
         Element root;
         NodeList books;
         for (String str : city) {     //循环访问获取各个地区不同天气情况
          ur = new URL("http://php.weather.sina.com.cn/xml.php?city="+str+"&password=DJOYnieT8234jlsK&day="+day);
          doc=dombuilder.parse(ur.openStream()); 
                root=doc.getDocumentElement();
                books=root.getChildNodes();
                for(Node node=books.item(1).getFirstChild();node!=null;node=node.getNextSibling()){
                 if(node.getNodeType()==Node.ELEMENT_NODE){
                  if(node.getNodeName().equals("status1"))weather=node.getTextContent();  //获取到天气情况
                  else if(node.getNodeName().equals("temperature1"))high=node.getTextContent();  //获取到最高温度
                  else if(node.getNodeName().equals("temperature2"))low=node.getTextContent();   //获取到最低温度
                 }
                }
                System.out.println(str+" "+weather+" "+low+"℃~"+high+"℃");  //前台输出
   }
            
                 }catch(Exception e){System.out.println("获取天气失败:"+e);}
    }   
    public static void main(String [] arg)   
    {   
              new GetWeather().getweather();  //主接口函数调用执行方法
    }   
  
}


 
============================================================================================================================================
方式二、
以上为自己获取xml文件然后将数据解析到前台页面的方式,你也可以通过frame标签引用的方式直接将某些天气网站的api支持的自己的站点:下面提供一个插件获取地址,可以轻松帮你获取你所要的任何形式、形状、大小、天数的天气信息,地址如下:http://www.thinkpage.cn/weather/widget.aspx

 

运行截图如下:

 

 

 

 

 

原文转自:http://wenku.baidu.com/view/6bc2326ef5335a8102d220f0.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值