如何在Dell boomi中将XML分为2个单独的文档?

问题描述

如何将XML分成以下两个单独的文档?

输入:

<stocks>
<stock>
    <stockid>78</stockid>
    <desc>Apple</desc>
    <details>
        <element1>XYZ</element1>
        <element2>ABC</element2>
    </details>
</stock>
<stock>
    <stockid>78</stockid>
    <desc>Apple</desc>
    <details>
        <element1>qwe</element1>
        <element2>asd</element2>
    </details>
</stock>
<stock>
    <stockid>65</stockid>
    <desc>Tesla</desc>
    <details>
        <element1>GHJ</element1>
        <element2>JKL</element2>
    </details>
</stock>

输出

Doc1:

<stocks>
<stock>
    <stockid>78</stockid>
    <desc>Apple</desc>
    <details>
        <element1>XYZ</element1>
        <element2>ABC</element2>
    </details>
</stock>
<stock>
    <stockid>78</stockid>
    <desc>Apple</desc>
    <details>
        <element1>qwe</element1>
        <element2>asd</element2>
    </details>
</stock>

文档2:

<stock>
    <stockid>65</stockid>
    <desc>Tesla</desc>
    <details>
        <element1>GHJ</element1>
        <element2>JKL</element2>
    </details>
</stock>

我已经使用业务规则形状和数据过程形状进行了尝试,但是失败了。任何人请协助。 我所做的是,在数据处理形状中,我尝试根据stockid对其进行拆分,但其结果与预期不符。而且我不懂groovy或javascript,所以我没有尝试使用脚本。

解决方法

可能的解决方案是使用映射将单个记录转换为平面文件。这应该从第一个初始文档输出3个文档。映射之后,使用数据处理形状组合平面文件,然后使用第二项来分割平面文件。拆分将是平面文件,在轮廓上拆分,轮廓是平面文件,链接元素将为stockid。然后再做一个映射,以将平面文件转换为原始xml配置文件。

概述:将(XML-> FF)映射到数据处理(合并和拆分)到(FF-> XML)映射。