使用BizTalk Map并想知道是否有一种很好的方法来执行以下操作。
我需要将收到的发票映射到订单列表。但是,每个订单必须只包含两个订单项(假设发票具有偶数)。
这意味着发票(1,2,3,4)应映射到订单(订单(1,2),订单(3,4))。
基本上,我需要在(index % 2 == 0)
时创建新的父元素。
是否有 functoid-only 这样做?
下面的XML示例:
<Invoice>
<Client>Client1</Client>
<Line>
<Code>1</Code>
<Price>$1.00</Price>
<Qty>1</Qty>
</Line>
<Line>
<Code>2</Code>
<Price>$2.00</Price>
<Qty>2</Qty>
</Line>
<Line>
<Code>3</Code>
<Price>$3.00</Price>
<Qty>3</Qty>
</Line>
<Line>
<Code>4</Code>
<Price>$4.00</Price>
<Qty>4</Qty>
</Line>
</Invoice>
到
<Orders>
<Order>
<Client>Client1</Client>
<OrderItem>
<Code>1</Code>
<Qty>1</Qty>
</OrderItem>
<OrderItem>
<Code>2</Code>
<Qty>2</Qty>
</OrderItem>
</Order>
<Order>
<Client>Client1</Client>
<OrderItem>
<Code>3</Code>
<Qty>3</Qty>
</OrderItem>
<OrderItem>
<Code>4</Code>
<Qty>4</Qty>
</OrderItem>
</Order>
</Orders>
我尝试了什么:
index % 2
的客户端的值映射:每行订单(一半有客户端)index % 2
)+ 客户端的提取器:每行订单,只有半行我最终可能会做的事情:
答案 0 :(得分:-1)
在工具箱的高级functoids部分中查找'index'functoid。 在输出上添加脚本functoid。 添加C#代码以检查要匹配的索引。 您可以通过从脚本functoid返回一个布尔值来打开和关闭输出。