#xpath SpEL 函式

從 3.0 版本開始,Spring Integration 提供了內建的 #xpath SpEL 函式,該函式呼叫 XPathUtils.evaluate(…​) 靜態方法。此方法委託給 org.springframework.xml.xpath.XPathExpression。以下列表顯示了一些用法示例

<transformer expression="#xpath(payload, '/name')"/>

<filter expression="#xpath(payload, headers.xpath, 'boolean')"/>

<splitter expression="#xpath(payload, '//book', 'document_list')"/>

<router expression="#xpath(payload, '/person/@age', 'number')">
    <mapping channel="output1" value="16"/>
    <mapping channel="output2" value="45"/>
</router>

#xpath() 還支援第三個可選引數,用於轉換 XPath 評估的結果。它可以是字串常量之一(stringbooleannumbernodenode_listdocument_list),也可以是 org.springframework.xml.xpath.NodeMapper 例項。預設情況下,#xpath SpEL 函式返回 XPath 評估結果的 String 表示。

要啟用 #xpath SpEL 函式,可以將 spring-integration-xml.jar 新增到類路徑中。您無需宣告 Spring Integration XML 名稱空間中的任何元件。

有關更多資訊,請參閱“Spring Expression Language (SpEL)”。