1

我希望这里有人可以给我一些指导。我正在开发一个使用 IBM MQ 消息代理的项目。该项目将包括以下内容

从 MQ 接收数据
- MQ 将以 xml 格式向我们发送记录
- 我需要获取这些 xml 文件并将它们转换为对象

将数据发送到 MQ
- 我需要将对象转换为 xml 格式
- 我需要将这些 xml 记录发送到 MQ

我会查看一些输入的部分是 xml 部分。我已经对这些解析器进行了一些 JAXP、JAXB、JDOM、XOM 的研究,但作为一名 Web 开发人员,很难判断哪个更适合我的场景。

我希望有这方面经验的人可以提出最佳解决方案。

谢谢

4

2 回答 2

1

我猜 JAXB 适合这个目的,你不需要任何特殊的 jar,因为嵌入在框架中。XOM 也可以工作,但您需要第三方库。

于 2012-04-26T14:28:32.563 回答
1

如果您已经定义了模式 (XSD),那么 JAXB 可能是最好的解决方案。您可以使用xjc.exe命令行工具生成 Java 类并将其指向您的 XSD 文件。

如果您的 XML 文档很大,那么您必须考虑内存限制。这篇文章讨论了内存问题和 JAXB。

如果您没有定义模式,那么您还有更多的工作要做 JAXB,但根据这篇文章是可能的

简而言之,尝试定义一个 XSD,然后使用 JAXB。

在 MQ 方面,我个人会使用 Spring 框架(支持 JAXB)来发送/接收/转换 MQ 消息。阅读有关 Spring API 中的DefaultMessageListenerContainer的信息(假设您要在 Java 中动手)。或者,您可以使用Spring Integration,但我没有亲自使用过。

于 2012-04-26T14:48:50.357 回答