Talend中按行提取XML并拆分重复行的实现需求
用Talend实现XML内容拆分生成重复行的组件方案
刚好做过类似的XML拆分需求,给你梳理下需要用到的Talend组件和核心配置思路:
- tFileInputDelimited(如果你的数据源是数据库,就换成
tDBInput):先读取原始数据源,把id和包含XML的content字段完整读入Talend流程。 - tXMLMap:这是实现拆分的核心组件!专门用来解析结构化XML并拆分重复节点:
- 把输入的
content字段指定为XML数据源,用你的示例XML自动生成对应的Schema; - 将
<Items>下的<Item>节点设置为循环重复节点,这样每个<Item>都会单独生成一行数据; - 字段映射:把原始的
id直接映射到输出,再分别提取<Item>下的Years和data字段到输出列。
- 把输入的
- tFileOutputDelimited(如果要写入数据库就用
tDBOutput):把拆分后的结果输出成你需要的格式,设置分隔符为|即可。
参考流程链路
tFileInputDelimited → tXMLMap → tFileOutputDelimited
内容的提问来源于stack exchange,提问作者user6479259
相关产品推荐
相关产品推荐

