今天笔者将以前使用Labview读取天气信息的四种方法总结一下。
1、直接http请求之get方法
此种方法简单方便,代码量少,逻辑清楚。使用get请求方法来通过城市名称请求theCityName。WebXml.com.cn 天气预报 Web 服务,数据每2.5小时左右自动更新一次,准确可靠。包括 340 多个中国主要城市和 60 多个国外主要城市三日内的天气预报数据。
看一下效果,返回的是xml格式的文本。
网站上有关于参数的定义与详细使用方法。
2、直接http请求之post方法
和上面get方法类型,在url里面没有指定theCityName,在post里面指定。但是笔者发现post方法写写城市代码可以,写文字就不行。读者也看看想想为啥呢,想不到从第二幅图找答案吧吧。
还有关于get与post方法的区别,如果不懂html的话,读者就请自行百度了。
post方法1 post方法23、系统自带WeatherWebService
使用系统自带的WeatherWebService来创建.NET对象的实例 ,互连接口->.Net->构造器节点。
看一下测试效果图,返回的是字符串一维数组。
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 ,当然你可以在浏览器中输入来测试这个网站。
4.2输入项目库和目标目录,注意不要和已有的名称重复。
4.3网站不需要认证,直接下一步
4.4选择所有的函数导入
4.5查看导入的结果
4.6测试验证
测试.dll文件,这个和第二种方法一样了。笔者借用网友的程序,自己生成的dll文件来测试。
程序将根据城市获取天气封装成子vi,里面将输出字符串一维数组根据类别组装成簇。
网友评论