【问题标题】:How to parse FlatFile in mulesoft如何在 mulesoft 中解析平面文件
【发布时间】:2018-06-07 00:18:39
【问题描述】:

我是 Mulesoft 的新手。 我有一个平面文件-

RHR001NTT PQR  2018090920180505
STR0010057830DFLT     74253J461000490
STR0020000000000000000000000000000000

我想迭代每一行,然后我想获取每一行以将子字符串从一个位置获取到另一个位置。例如。在第一行,我想要从第 6 列到第 12 列的子字符串。

我正在尝试新事物来做到这一点。我已经使用拆分器组件分隔了每一行 #[StringUtils.split(message.payload, '\n\r')] 现在我想将每一行的子字符串从一个位置转移到另一个位置。 我不知道我现在该怎么办?还有其他方法吗?我听说过 For-Each 组件。我对 For-Each 和 Splitter 组件没有任何经验或想法。 请帮帮我。提前感谢!

【问题讨论】:

    标签: mule mule-component mule-el


    【解决方案1】:

    此配置可能会有所帮助。这将遍历每一行,并且转换器按“”拆分。这会给你一个数组。请注意 For-Each 中的有效负载停留在 foreach 中,并且不会存在于它之外。

    http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/corehttp://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/filehttp://www.mulesoft.org/schema/mule/file/current/mule-file.xsd http://www.mulesoft.org/schema/mule/ee/dwhttp://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd">

    <flow name="xyzFlow">
        <set-payload value="#[StringUtils.split(message.payload, '\n\r')]" doc:name="Set Payload"/>
        <foreach collection="#[payload]" doc:name="For Each">
            <dw:transform-message doc:name="Transform Message">
                <dw:set-payload><![CDATA[%dw 1.0
    %output application/java
    ---
    payload splitBy " "]]></dw:set-payload>
            </dw:transform-message>
        </foreach>
    </flow>
    

    【讨论】:

    • 谢谢马丁。但是我已经使用 Splitter 组件解析了这个文件。感谢您为解决我的问题所做的努力。继续努力!
    猜你喜欢
    • 1970-01-01
    • 2012-12-28
    • 2013-02-22
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2014-12-11
    • 1970-01-01
    相关资源
    最近更新 更多