我有一条输入消息,分为三个部分
<DDT>
<NumeroDDT>PS-1713445</NumeroDDT>
<Date>2017-10-19</Date>
<NumeroLinea>2</NumeroLinea>
</DDT>
但是我想根据其中的值来映射线(NumeroLinea)。
因此,像这样的值2应该变成
<DDT>
<NumeroDDT>PS-1713445</NumeroDDT>
<Date>2017-10-19</Date>
<NumeroLinea>1</NumeroLinea>
<NumeroLinea>2</NumeroLinea>
</DDT>
一种行计数器。
我使用内联xslt functoid和硬编码来完成此操作。.
如果1条线
如果2行两行
等
用几行就可以了,但问题是它可以是多行,超过300条或更多,所以这是一个不好的解决方案,而且行不通。
您是否知道如何根据输入消息中的值生成<NumeroLinea>
行?
我也尝试过循环函数,但是没有运气。
输入模式和输出模式相同。
答案 0 :(得分:1)
我认为您最好使用此处接受的答案中提供的递归技术:XSLT How to do a classic for x to y loop?
这样做,您无需修改或填充您的输入。
答案 1 :(得分:0)
在Seroter的博客Splitting Delimited Values in BizTalk Maps
中找到了一个很好的解决方案我尝试过,效果很好。我要做的就是用管道分隔输入节点,此解决方案可以正常工作。