Kettle 使用备忘录:生成xml文件
1. 利用 excel中的数据生成xml文件 kettle中的xml文件输出组件的功能其实是很弱的,所以要生成较为复杂的xml文件时需要使用组件: add xml,
使用merge join主要是为了减少在xml join中需要匹配的结果集合(因为xml join中的匹配功能其实是很弱的)。
首先需要从excel文件中读取数据,excel文件中的内容为
利用读取到的内容生成xml元素,如下是add xml中的设置:
这一步主要生成了如下的xml元素:
接着就是进行xml join了,source stream中的xml元素会被拼接到target stream的xml元素中。怎么拼接有join condition properties决定,它是使用xpath来定位要拼接的位置,例如//doc 就是把source stream的元素拼接到每个doc元素中。需要注意的是,由于这次xml join之后xml文件就生成好了,所以不能把omit xml header选上。
当然通过xpath也可以做复杂的条件join,如下是个例子:
可以通过xpath指定在所有target stream的area元素中如果area的属性STATIONID的值与source stream中STATIONID的值(这个值不一定要在source的xml元素中,但必须在source stream中,例如可以是一开始从excel读入的流中)相同,那么把source stream中的xml元素放到 orderlinecomments元素中。
js脚本处理好之后,输出流的名字就换成 xmlOderLinesNew了。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |