今天笔者将以前使用Labview读取天气信息的四种方法总结一下。
1、直接http请求之get方法
此种方法简单方便,代码量少,逻辑清楚。使用get请求方法来通过城市名称请求theCityName。WebXml.com.cn 天气预报 Web 服务,数据每2.5小时左右自动更新一次,准确可靠。包括 340 多个中国主要城市和 60 多个国外主要城市三日内的天气预报数据。
![](https://img.haomeiwen.com/i24447700/e903e751b0200230.png)
看一下效果,返回的是xml格式的文本。
![](https://img.haomeiwen.com/i24447700/b8f734480e349d04.png)
网站上有关于参数的定义与详细使用方法。
![](https://img.haomeiwen.com/i24447700/b02d20467201c590.png)
2、直接http请求之post方法
和上面get方法类型,在url里面没有指定theCityName,在post里面指定。但是笔者发现post方法写写城市代码可以,写文字就不行。读者也看看想想为啥呢,想不到从第二幅图找答案吧吧。
还有关于get与post方法的区别,如果不懂html的话,读者就请自行百度了。
![](https://img.haomeiwen.com/i24447700/cb7738673c3ab556.png)
![](https://img.haomeiwen.com/i24447700/c58268ae362c5f6d.png)
3、系统自带WeatherWebService
使用系统自带的WeatherWebService来创建.NET对象的实例 ,互连接口->.Net->构造器节点。
![](https://img.haomeiwen.com/i24447700/191fab932ec5f2a5.png)
看一下测试效果图,返回的是字符串一维数组。
![](https://img.haomeiwen.com/i24447700/c94c0b8e2aa4b586.png)
4、生成Web服务的代理类
详情请搜索文档“Labview调用WebService接口获取网络数据”。里面大概就是使用wsdl.exe 软件生成 C# 语言的代理类源文件.cs,再用csc.exe生成代理类的.dll文件,最后就和第二种方法一样调用即可。
既然平台是Labview,那么我们就是用Labview的导入web的方法来。
4.1、工具-导入-web服务,在web服务说明语言URL中输入地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?WSDL ,当然你可以在浏览器中输入来测试这个网站。
![](https://img.haomeiwen.com/i24447700/ecfcce3cb9062735.png)
4.2输入项目库和目标目录,注意不要和已有的名称重复。
![](https://img.haomeiwen.com/i24447700/6d2f3a136e5375c2.png)
4.3网站不需要认证,直接下一步
![](https://img.haomeiwen.com/i24447700/8e54e16516179a7f.png)
4.4选择所有的函数导入
![](https://img.haomeiwen.com/i24447700/4b87eab104c1fb6d.png)
4.5查看导入的结果
![](https://img.haomeiwen.com/i24447700/63eb5f1bb201384e.png)
4.6测试验证
测试.dll文件,这个和第二种方法一样了。笔者借用网友的程序,自己生成的dll文件来测试。
![](https://img.haomeiwen.com/i24447700/7d83b5431cca1be5.png)
程序将根据城市获取天气封装成子vi,里面将输出字符串一维数组根据类别组装成簇。
![](https://img.haomeiwen.com/i24447700/9528b98c6fd8e9c5.png)
网友评论