跳到主要内容
版本:7.0.2

XML 支持 - 处理 XML 负载

DeepSeek V3 中英对照 XML Support - Dealing with XML Payloads

Spring Integration 的 XML 支持通过以下组件扩展了其核心功能:

此依赖项为项目所需:

<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-xml</artifactId>
<version>7.0.2</version>
</dependency>

这些组件使得在 Spring Integration 中处理 XML 消息变得更加简单。消息组件支持多种格式的 XML 表示,包括 java.lang.Stringorg.w3c.dom.Documentjavax.xml.transform.Source 的实例。然而,当需要 DOM 表示时(例如,为了评估 XPath 表达式),String 负载会被转换为所需的类型,然后再转换回 String。如果您没有提供 DocumentBuilder 实例,需要该实例的组件会创建一个支持命名空间的实例。当您需要对文档创建进行更精细的控制时,可以提供一个适当配置的 DocumentBuilder 实例。

章节总结

📄️ 拆分 XML 消息

XPathMessageSplitter 支持处理包含 String 或 Document 负载的消息。该分割器使用提供的 XPath 表达式将负载拆分为多个节点。默认情况下,每个 Node 实例会成为新消息的负载。当需要每个消息为 Document 类型时,可以设置 createDocuments 标志。若传入的是 String 负载,系统会先将其转换、拆分,再转换回多个 String 消息。XPath 分割器实现了 MessageHandler 接口,因此应与适当的端点配合配置(如需更简洁的配置方案,可参考后续示例中的命名空间支持示例)。以下示例展示了配置使用 XPathMessageSplitter 的 Bean: