Biztalk将XML循环到平面文件

时间:2015-02-25 21:40:10

标签: xml csv biztalk

我的输入记录如下所示:

<employee>
    <empid>1234</empid>
    <name>John Smith</name>
    ...
    <benefit>
         <plan_name>HSA</plan_name>
         <effective_date>01-01-2015</effective_date>
    </benefit>
</employee>

我需要把它带到一个csv文件。到现在为止还挺好。现在有一个问题是,一些员工有多种好处。

<employee>
    <empid>1234</empid>
    <name>John Smith</name>
    ...
    <benefit>
         <plan_name>HSA</plan_name>
         <effective_date>01-01-2015</effective_date>
    </benefit>
    <benefit>
         <plan_name>Limited FSA</plan_name>
         <effective_date>01-01-2015</effective_date>
    </benefit>
</employee>

在这种情况下,生成的CSV文件需要有一个新行以获得第二个好处。所有不受益的字段都将在此行上重复。我尝试了一个循环的functoid从源中的利益节点到目的地的整个记录​​(作为一个工作的人,我们的大部分BizTalk建议),但它不是重复该行的具有多种好处的测试文件。我只为每位员工准备了一行。

我需要什么:

1234,John Smith,...HSA,01-01-2015
1234,John Smith,...Limited FSA,01-01-2015

我得到了什么:

1234,John Smith,...HSA,01-01-2015

1 个答案:

答案 0 :(得分:1)

这应该很简单,我已经多次完成了。

首先将<benefit><theCSVRowWlement>与循环Functoid相关联。

这将导致Mapper生成包含整个CSV记录的<benefit>左右的for-each。