如何在Datamapper Mule ESB中跳过重复的字段值

时间:2015-01-21 11:38:31

标签: mule mule-studio mule-el mule-component

我有这样的要求,在根标签'功能'下存在多个要素元素。我需要删除重复项。我已在源和目标中加载了相应的xsd。但不知道如何删除重复项。我的xml是一个复杂的,但要理解,我在这里做的很简单。

来源(输入xml)

<features>
  ......(other fields)...
 <Datas>
   <feature> 1</feature>
   <feature> 2 </feature>
   <feature> 1 </feature>
   <feature> 3 </feature>
   <feature> 3 </feature>
  </Datas>  
</features> 

目标(输出xml)

<features>
   ....(other fields)....
  <ItemDetails>
   <feature> 1</feature>
   <feature> 2 </feature>
   <feature> 3 </feature> 
 </ItemDetails>

我在想,对于DataMapper中的每个元素都需要做些什么。但不确定如何做或可能是错的

请告诉我是否有任何捷径,清脆的方法来删除重复项。它会缩短我的时间。 骡子版本:3.5.1 提前谢谢。

2 个答案:

答案 0 :(得分:1)

使用DataMapper无法实现这一点,您需要一个不可靠的XSLT转换器来删除重复项,请参阅以下stackoverflow question

答案 1 :(得分:0)

我已经用这种方式解决了这个问题。

首先我使用了Datamapper。它会给出响应,但有重复。最后我使用了这个链接Removing duplicate elements with XSLT中描述的Simple XSLT(它仅删除重复项)并复制剩余的转换字段(我在链接中使用了XSLT v1)

希望对于像我这样面临问题的人来说,这可能会有所帮助。