0

关于 Mule 4 和 DWL 语法的问题。我有一个需要 csv 文件的文件侦听器。
假设文件是​​这种格式
value1, value2, value3, value4
然后我有一个“var”消息处理器,在那里需要将 value3(第三个字段)的值分配给一个变量。我该怎么做?感谢您的帮助。

4

1 回答 1

1

如果您只有一行,则可以使用索引 0: 访问第一行[0],然后使用索引 2 访问第三个字段[2]。索引从 0 开始。

注意,如果您的 CSV 没有标题行,请确保将其添加到 file:listeneroutputMimeType="application/csv;header=false"以让 dw 知道没有标题行:

<flow name="csv">
        <file:listener directory="/path/to/dir"  outputMimeType="application/csv;header=false" >
            <scheduling-strategy >
                <fixed-frequency frequency="100000" />
            </scheduling-strategy>
        </file:listener>

        <logger level="INFO" message="#[payload]" />
        <set-variable value="#[output application/java --- payload[0][2] as String]" variableName="myVar" />

        <logger level="INFO" message="#[vars.myVar]" />
    </flow>

另请注意,您也可以使用该transform组件来设置变量,以便在需要更好格式的情况下进行更复杂的转换:

<ee:transform>
            <ee:variables>
                <ee:set-variable variableName="myVar" ><![CDATA[%dw 2.0
output application/java
---
payload[0][2] as String]]></ee:set-variable>
            </ee:variables>
        </ee:transform>
于 2019-05-28T13:10:45.910 回答