c#窗体程序中怎么获取到从接口中得到的信息天气预报http:m.weather.com.cndata101230101.html

c#窗体程序中怎么获取到从接口中得到的信息天气预报http:m.weather.com.cndata101230101.html,第1张

你这个不是接口,只是个网页地址。

我找到另外一个天气预报的接口:

>

只要在项目中添加Web引用:

按照这个做:

然后人就可以实例化这个对象:

调用对应的方法就可以获取接口中的信息了。

直接在IE或其它浏览器中打开这接口网址:

>

可以看到那些方法的使用说明。

还是不会就不应该了。为了这15分,可以加我好友再问。

前期的准备工作:

一、申请API(拿好appid和private_key)

二、解读《SmartWeatherAPI<Lite> WebAPI版接口使用说明书》

三、准备好areaid、type、date、appid、urlencode($key)(注意,这里经加密的key是需要encodeurl之后的才能成为接口链接的一部分)

好了下面的编码开始:

1、从附件中的areaid_list中找到你想要的地方的areaid,并且选择要查询天气的类型

NSString areaid = @"101010100";

NSString type =

@"index_f";

/

官方文档更新的数据类型号

指数:index_f(基础接口);index_v(常规接口)

3天预报:forecast_f(基础接口);forecast_v(常规接口)

/

2、获得当前天气date

NSDate

_date = [NSDate date];

NSDateFormatter dateFormatter =

[[NSDateFormatter alloc] init];

[dateFormatter

setDateFormat:@"yyyyMMddHHmmss"];//注意日期的格式

NSString date =

[[dateFormatter stringFromDate:_date]

substringToIndex:12];//用到的精确到分,24小时制60分钟制

3、申请的appid,和private_key

NSString appid =

@"15ds45s13a465s";//这里是楼主随便输入的,瞎编的

NSString private_key =

@"46s4ds_SmartWeatherAPI_45s44d6";//也是瞎编的

4、算出经过urlencode后的key,这步比较重要,步骤也多,请耐心看完。

在原来的的基础上是在PHP的环境中算出的,代码如下,可在“

>

使用搜索引擎可以得到很多的天气预报接口,这里以某个api为例

>

参数为city=城市名称

尝试获取南昌的天气预报

>

得到下面xml数据

<xml version="10" encoding="utf-8">

<resp>

  <city>南昌</city>

  <updatetime>16:55</updatetime>

  <wendu>5</wendu>

  <fengli>3级</fengli>

  <shidu>90%</shidu>

  <fengxiang>北风</fengxiang>

  <sunrise_1>06:54</sunrise_1>

  <sunset_1>17:19</sunset_1>

  <sunrise_2/>

  <sunset_2/>

  <environment>

    <aqi>26</aqi>

    <pm25>13</pm25>

    <suggest>各类人群可自由活动</suggest>

    <quality>优</quality>

    <MajorPollutants/>

    <o3>44</o3>

    <co>1</co>

    <pm10>14</pm10>

    <so2>4</so2>

    <no2>27</no2>

    <time>16:00:00</time>

  </environment>

  <yesterday>

    <date_1>4日星期五</date_1>

    <high_1>高温 11℃</high_1>

    <low_1>低温 7℃</low_1>

    <day_1>

      <type_1>阴</type_1>

      <fx_1>无持续风向</fx_1>

      <fl_1>微风</fl_1>

    </day_1>

    <night_1>

      <type_1>小到中雨</type_1>

      <fx_1>北风</fx_1>

      <fl_1>3-4级</fl_1>

    </night_1>

  </yesterday>

  <forecast>

    <weather>

      <date>5日星期六</date>

      <high>高温 7℃</high>

      <low>低温 5℃</low>

      <day>

        <type>中到大雨</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </day>

      <night>

        <type>小到中雨</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </night>

    </weather>

    <weather>

      <date>6日星期天</date>

      <high>高温 10℃</high>

      <low>低温 5℃</low>

      <day>

        <type>阴</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </day>

      <night>

        <type>多云</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </night>

    </weather>

    <weather>

      <date>7日星期一</date>

      <high>高温 13℃</high>

      <low>低温 6℃</low>

      <day>

        <type>多云</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </day>

      <night>

        <type>晴</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </night>

    </weather>

    <weather>

      <date>8日星期二</date>

      <high>高温 13℃</high>

      <low>低温 7℃</low>

      <day>

        <type>晴</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </day>

      <night>

        <type>多云</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </night>

    </weather>

    <weather>

      <date>9日星期三</date>

      <high>高温 13℃</high>

      <low>低温 10℃</low>

      <day>

        <type>小雨</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </day>

      <night>

        <type>小雨</type>

        <fengxiang>无持续风向</fengxiang>

        <fengli>微风级</fengli>

      </night>

    </weather>

  </forecast>

  <zhishus>

    <zhishu>

      <name>晨练指数</name>

      <value>不宜</value>

      <detail>有较强降水,请避免户外晨练,建议在室内做适当锻炼,保持身体健康。</detail>

    </zhishu>

    <zhishu>

      <name>舒适度</name>

      <value>较舒适</value>

      <detail>白天有雨,人们会感到有些凉意,但大部分人完全可以接受。</detail>

    </zhishu>

    <zhishu>

      <name>穿衣指数</name>

      <value>较冷</value>

      <detail>建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。</detail>

    </zhishu>

    <zhishu>

      <name>感冒指数</name>

      <value>极易发</value>

      <detail>将有一次强降温过程,天气寒冷,且空气湿度较大,极易发生感冒,请特别注意增加衣服保暖防寒。</detail>

    </zhishu>

    <zhishu>

      <name>晾晒指数</name>

      <value>不宜</value>

      <detail>有较强降水,不适宜晾晒。若需要晾晒,请在室内准备出充足的空间。</detail>

    </zhishu>

    <zhishu>

      <name>旅游指数</name>

      <value>较不宜</value>

      <detail>天气稍凉,有微风,同时有有较强降水,会给出行产生很多麻烦,建议好还是多选择在室内活动!。</detail>

    </zhishu>

    <zhishu>

      <name>紫外线强度</name>

      <value>最弱</value>

      <detail>属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。</detail>

    </zhishu>

    <zhishu>

      <name>洗车指数</name>

      <value>不宜</value>

      <detail>不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。</detail>

    </zhishu>

    <zhishu>

      <name>运动指数</name>

      <value>较不宜</value>

      <detail>有较强降水,建议您选择在室内进行健身休闲运动。</detail>

    </zhishu>

    <zhishu>

      <name>约会指数</name>

      <value>不适宜</value>

      <detail>较强降水天气会给室外约会增添许多麻烦,尽量不要外出约会,最好在室内促膝谈心。</detail>

    </zhishu>

    <zhishu>

      <name>雨伞指数</name>

      <value>带伞</value>

      <detail>有较强降水,您在外出的时候一定要带雨伞,以免被雨水淋湿。</detail>

    </zhishu>

  </zhishus>

</resp>

得到数据后使用XML解析数据即可,最好是建立一个实体类来存储数据

下面是使用DOM方式解析部分数据代码

DocumentBuilder builder = DocumentBuilderFactorynewInstance()newDocumentBuilder();

//is是网络连接得到的输入流

Document doc = builderparse(is);

if(doc==null) throw new Exception();

Element element = docgetDocumentElement();

NodeList childList = elementgetChildNodes();

for(int i=0; i<childListgetLength(); i++){

Element e = (Element) childListitem(i);

String tag = egetTagName();

String text = egetTextContent();

if("city"equals(tag)){

                //城市

}else if("updatetime"equals(tag)){

//更新时间

}else if("wendu"equals(tag)){

//即时温度

}else if("fengli"equals(tag)){

//风力

}else if("shidu"equals(tag)){

//湿度

}else if("fengxiang"equals(tag)){

//风向

}

}

接口实例:>

这个简单:

网上有免费的天气接口:WebService

写个程序,调用WebService ,给你返回一个数组,数组里面就是你需要的结果。

>

以上就是关于c#窗体程序中怎么获取到从接口中得到的信息天气预报http://m.weather.com.cn/data/101230101.html全部的内容,包括:c#窗体程序中怎么获取到从接口中得到的信息天气预报http://m.weather.com.cn/data/101230101.html、如何使用中国气象局API开发天气APP、android怎样使用天气预报接口 实现天气预报等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9564275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存