概述:通过ETL Kettle检索XML中的数据,使用XML输入流(StAX)方法读取多层分组嵌套的XML中的数据,结构化非结构化数据,并直接放入关系数据库中保存。本文通过完整的分析案例(包括xml 和ktr 文件)逐步说明如何检索XML 中的数据。我们直接进入正题吧。
XML 文件内容xml 版本=\\\’1.0\\\’ 编码=\\\’UTF-8\\\’
双密封悬臂梁传感器流量计结构
本发明提出了一种双密封悬臂梁传感器流量计结构。
发明专利申请公开
发明专利申请公告
A
无效的
20111208
20230104
CN201221121
CN102311Q
中国
无效的
2023-06-11 19:13:05.0
2023-06-11 19:13:05.0
透镜分束光电测角装置及其检测方法
本发明公开了一种透镜分束光电测角装置及其检测方法。
发明专利申请公告
发明专利申请公告
A
无效的
20230223
20230504
CN2011211
CN102121W
中国
无效的
2023-06-11 19:13:05.0
2023-06-11 19:13:05.0
转换步骤屏幕截图转换步骤
XML 输入:XML 输入
过滤记录- 排除END_ELEMENT 标签: 过滤记录- 排除END_ELEMENT 标签
JAVA代码实现行数据组:private int pos_xml_element_level;
私有int pos_group;
私有int 组=1;
私有静态最终整数LEVEL_CHECK=2;
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) 抛出KettleException
{
对象[] r=getRow();
如果(r==null)
{
设置输出完成();
返回假。
}
如果(第一个){
//获取字段位置(输入)
pos_xml_element_level=getInputRowMeta().indexOfValue(\\\’xml_element_level\\\’);
//获取字段位置(输出)
pos_group=data.outputRowMeta.indexOfValue(\\\’Group\\\’);
如果(pos_xml_element_level0 || pos_group0){
throw new KettleException(\\\’未找到xml_ 字段或输出字段之一。\\\’);
}
首先=假;
}
if ((Long)r[pos_xml_element_level]==LEVEL_CHECK) {
组=组*(-1);
}
Object[] OutputRowData=createOutputRow(r, data.outputRowMeta.size());
OutputRowData[pos_group]=new Long(组);
putRow(data.outputRowMeta,outputRowData);
返回真。
}
过滤不必要的标签:过滤不必要的标签
列到行:列到行
过滤无用字段:过滤无用字段
XML文档和KTR文件的下载路径:
https://download.csdn.net/download/wwwwww9061/11132783
本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/666841.html