CPI Groovy-对平面文件输出进行排序

2020-09-14 09:53发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 在我的集成中,我合并...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

在我的集成中,我合并了几个平面文件,需要在3到12的位置上对其进行排序。

因为这是几个xml的合并数据,所以我无法在xslt上对xml进行排序。

输入:
 040003858更多文字
 040003859更多文本
 050003858更多文字
 050003859更多文本

 所需的输出

 040003858更多文字
 050003858更多文字
 040003859更多文本
 050003859更多文本
 

常规情况下,对数组列表或列表进行排序有多种可能性,但首要的挑战之一是使消息正文达到正确的格式。

我认为标准的 def body = message.getBody(); 会将主体检索为字符串,那么如何将其转换为可以排序的东西?/p>

sort语句本身,只要我能得到消息就可以像这样

 testArray.sort {it.str(2..11)}

 要么

 sorted = testArray.sort(false){it.str(2..11)} 

到目前为止,这些语句失败了,因为我的testArray中没有主体。

我无法使用令牌化来创建列表,因为记录没有固定的令牌。 尽管我也许可以为此在平面文件中生成一个令牌。

还是有另一种方法可以以相对简单的方式解决此问题?

谢谢

汤姆

2条回答
南山jay
2020-09-14 10:15 .采纳回答

嗨,汤姆,您是否无法使用结尾行字符来包含每行的数组? 诸如body.split('\ n')之类的东西,或者您也可以使用一些正则表达式来分割行,因为似乎每行上方都有一些特定的字符串模式。

请看看。

http://grails.asia/groovy-split


一周热门 更多>