使用kettle把XML文档转换成数据表结构
??
使用kettle把XML文档转换成数据表结构
在kettle中Get data from xml步骤和 XML Input Stream (StAX)步骤读取并解析xml文件。Get data from xml步骤使用dom方式解析,比较消耗内存,当文件很大时,就不可取。XML Input Stream (StAX)步骤使用完全不同的方式解析大而复杂的文件,且能快速载入数据,所以建议使用该步骤。 下面通过示例来展示如何使用该步骤,源xml文件内容如下: <?xml version="1.0"?> <timeseries> <measurementyear="2000"> <!-- value ofitem named A in 2000 is 8.5 --> <itemname="A">8.5</item> <itemname="B">9.8</item> </measurement> <measurementyear="2001"> <itemname="A">12.2</item> <itemname="B">9.4</item> </measurement> <measurementyear="2002"> <itemname="A">11.1</item> <itemname="B">7.2</item> </measurement> </timeseries>
解析成数据表的格式数据如下:
使用下面步骤去实现该功能
示例可以从这里下载
步骤 最容易理解执行情况的方式,通过预览没步骤的执行结果(5.x版本可以直接查看数据流),下图显示该步骤的执行原理。
步骤 把两个来自不同数据源的流进行合并,其实和SQL中join原理是一样的,只不过在kettle中是针对流数据,不是表数据。非常重要的是:流数据要根据键(join中使用的)排序,本列中第一步载入xml文件时,已经排序,所以不再选哟“sort rows”步骤。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 一个简单的身份证校验
- ruby-on-rails – “patch”rails渲染函数编辑默认选项
- JSON.parse()和JSON.stringify()
- bundler / capistrano没有使用正确的ruby版本安装gem
- objective-c – CV_8UC3的CGBitmapContextCreate(在OpenCV中
- c# – 如何使用XDocument.Save使用属性的自定义缩进来保存文
- 如何在C#TextBox中允许Ctrl-A和Ctrl-Backspace等内容
- 拦截C#中的Windows Vista关闭事件
- supervisor(三)xml_rpc
- ios – 无法从以前的版本更改Bundle标识符