达到亦然篇稿子 在SSIS 中使用 Web Service 以及 解析XML
数据
中介绍了下SSIS的WebService控件解析XML数据,最后也干对于返回的XML数含有数组类型的上要一点额他的拍卖。

演示说明

WeatherWebService
是WebXml.com.cn 天气预报 Web
服务,数据列2.5小时左右自动更新一次,准确可靠。包括 340
多只中国要都与 60 多独国外主要都三天内的天气预报数据。

SSIS-XMLTask-ProcessArrays-1.jpg

咱们得经之服务之接口获得我们用的都或所在的天等消息。本示例将介绍以SSIS中因故Web服务任务组件调用天气预报Web服务的接口查询城市之天等消息,因为归XML格式的多少含有数组,所以用Foreach循环容器组件的NodeList枚举器来处理,获取我们需要的信插入到数据库的阐明。

兑现步骤

HTTP连接

先是我们建一个HTTP连接,服务器URL如下:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

SSIS-XMLTask-ProcessArrays-2.jpg

Web服务任务

拖入Web服务任务组件,打开编辑器,在常规面板中,HttpConnection连接选择上一样步新建的Http连接,WSDLFile为协调新建的一个wsdl格式的文本,OverwriteWSDLFile为True.点击【下载WSDL】。

SSIS-XMLTask-ProcessArrays-3.jpg

切换至输入面板,Method中选取getWeatherbyCityName,然后下出现的变量里填充一个邑名称,当然也得以据此变量。

SSIS-XMLTask-ProcessArrays-4.jpg

切换到输出面板,这里,我们用回到的XML格式的数目保存到一个Object类型的变量里。这样Web服务任务组件就安装好了。

SSIS-XMLTask-ProcessArrays-5.jpg

归来数据印证

交WeatherWebService网站上查看getWeatherbyCityName的调用说明:

基于城市要地面称号查询得到未来叔龙内天气情况、现在底气象实况、天气及生活指数
调用方法如下:输入参数:theCityName =
城市中文名称(国外城市可用英文)或市代码(不输入默认为上海市),如:上海
或 58367,如发生市称号还请动都代码查询(可由此 getSupportCity 或
getSupportDataSet 获得);返回数据: 一个一维数组
String(22),共有23单因素。
String(0) 到
String(4):省份,城市,城市代码,城市图片名称,最后更新时间。String(5)
到 String(11):当天的
气温,概况,风向和风力,天气趋势开始图片名称(以下称:图标一),天气趋势结束图片名称(以下称:图标二),现在的天实况,天气和生指数。String(12)
到 String(16):第二上的
气温,概况,风向和风力,图标一,图标二。String(17) 到
String(21):第三龙的
气温,概况,风向和风力,图标一,图标二。String(22)
被询问的都会要地面的牵线

好看来返回的凡一个一维数组。

SSIS-XMLTask-ProcessArrays-6.jpg

SSIS-XMLTask-ProcessArrays-7.jpg

咱将故循环处理此一维数组,然后取我们要的字段,比如省份,城市,城市代码,最后更新时间,当天气温,概况,风向和风力,现在底天气实况,天气以及在指数。

Foreach循环容器

当支配流中拖入Foreach循环容器,双击打开编辑器,在集结面板中,Enumerator选择Foreach
NodeList
枚举器,DocumentSourceType为输入的XML数据存储类型,这里选择上亦然步的保存XML数据的变量,DocumentSource为变量名称。

EnumerationType选择NodeText,因为此处我们纪念使的凡XML数据中<string>标签中之值,不是节点。OuterXPathStringSourceType是XPath查询的色,这里我们选DirectInput,然后OuterXPathString是咱们查询XML的节点语法,这里填/ArrayOfString/*,它代表查询XML数据遭到的ArrayOfString这个节点下之有节点,具体的XPath语法可以参考XPath
教程。

SSIS-XMLTask-ProcessArrays-8.jpg

切换至变量映射面板,这里新建一个变量保存每次循环取到<string>节点的时节,节点里的价值。这样,Foreach循环容器设置就成功了。

SSIS-XMLTask-ProcessArrays-9.jpg

信输出

为方便演示,我就是不连续数据库了,把收获到之信显示出就是吓了。将一个本子任务拖入到Foreach循环容器里面。双击打开编辑器,脚本类型这里用底VBA,然后新建了并个变量:ID,InfoStr,ID是历次循环的下标值,依次加1,InfoStr保存组合成的信息值。然后于ReadWriteVariables里上加进去。点击【编辑脚本】,打开脚本编辑器,输入处理代码。

SSIS-XMLTask-ProcessArrays-10.jpg

SSIS-XMLTask-ProcessArrays-11.jpg

末段将结合信息字符串输出,还是拖入一个本子任务,编辑器设置如下:

SSIS-XMLTask-ProcessArrays-12.jpg

最后执行保证任务,可以看输出的音。

SSIS-XMLTask-ProcessArrays-13.jpg

转载请注明出处(http://www.c-xuan.com/SSIS-XMLTask-ProcessArrays)

相关文章

网站地图xml地图