#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 评估的结果。它可以是以下字符串常量之一(string
、boolean
、number
、node
、node_list
和 document_list
),或者是一个 org.springframework.xml.xpath.NodeMapper
实例。默认情况下,#xpath
SpEL 函数返回 XPath 评估的 String
表示形式。
备注
要启用 #xpath
SpEL 函数,您可以将 spring-integration-xml.jar
添加到类路径中。您无需声明任何来自 Spring Integration XML 命名空间的组件。
有关更多信息,请参见 \
Spring 表达式语言 (SpEL)。