1
使用BizTalk映射,不知道是否有这样做的一个很好的方式。的BizTalk映射记录到对
我需要映射收到的发票到订单的列表。但是,每个订单只能包含两个订单项(让我们假设发票有一个偶数)。
这意味着,发票(1,2,3,4)应映射到订单(订单(1,2),单(3,4))。
从本质上讲,我需要的时候(index % 2 == 0)
创建新的父元素。
是否有这样做的的functoid只方式?
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
)+提取到客户:每行令,只有一半的行
什么我可能最终会做:
- XSLT
- 或者,映射后的C#操作
老实说,我甚至不会尝试使用映射器来做到这一点。我会改用直接的XSLT。 – 2013-03-07 20:57:15
我第二个Nick的评论。 xslt并不难,而且会轻松完成工作。 – Jay 2013-08-06 16:23:14
XSLT可维护性通常是客户采用的一个相当大的障碍,但我会在需要它时根据需要达成一致。只是可惜这种东西不是开箱即用的。 – 2013-08-18 15:07:38