跳到主要内容

XML 支持 - 处理 XML 负载

QWen Plus 中英对照 XML Support - Dealing with XML Payloads

Spring Integration 的 XML 支持扩展了 Spring Integration 的核心,提供了以下组件:

你需要将这个依赖添加到你的项目中:

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

这些组件使在 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: