Pentaho 数据集成 (Spoon) 使用嵌套元素导入 XML

问题描述

我有以下 xml 数据结构,我正在尝试在 Pentaho 中创建一个转换,以提供链接图像中显示输出。数据具有嵌套在元素中的元素,我似乎只能设置 Loop XPath 选项来获取 main_components 或 sub_components。

<?xml version="1.0" encoding="UTF-8"?>
<components>
    <main_component>
        <name>Engine</name>
        <ref_no>336820-182</ref_no>
        <oem>Ford</oem>
    </main_component>
    <main_component>
        <name>GearBox</name>
        <ref_no>378912-009</ref_no>
        <oem>GM</oem>
    </main_component>
    <main_component>
        <name>Fuel Tank</name>
        <ref_no>378927</ref_no>
        <oem>GM</oem>
        <sub_component>
            <name>Fuel Pump</name>
            <ref_no>27182A</ref_no>
            <oem>Lucus</oem>
        </sub_component>
            <name>Contents Unit</name>
            <ref_no>1219290</ref_no>
            <oem>honeywell</oem>
        </sub_component>
    </main_component>
</components>

Required Transformation Output

解决方法

您需要使用“XML Input Stream”并且需要编写小的javascript代码来获取父节点信息。 (这里我设置了如果父节点可用的变量,如果子节点可用作为该子节点的父信息,则读取这些变量)

formInitialValues

您可以从 Here

中找到样本

enter image description here

请告诉我您是否可以接受。