#xpath SpEL 函數

Spring Integration 自 3.0 版本起,提供了內建的 #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 運算式語言 (SpEL)