我希望这里有人能给我一些指导。我正在从事一个使用 IBM MQ 消息代理的项目。该项目将包括以下内容
从 MQ
接收数据- MQ 将以 xml 格式向我们发送记录
- 我需要获取这些xml文件并将它们转换为对象
将数据发送到 MQ
- 我需要将对象转换为 xml 格式
- 我需要将这些 xml 记录发送到 MQ
我会查看一些输入的部分是 xml 部分。我已经对这些解析器进行了一些研究JAXP,JAXB,JDOM,XOM,但是作为一名Web开发人员,很难说哪一个更适合我的场景。
我希望有这方面的经验的人可以提出最佳解决方案。
谢谢
如果您已经定义了模式(XSD),JAXB可能是最好的解决方案。您可以使用 xjc.exe
commnad 行工具生成 Java 类,并将其指向 XSD 文件。
如果您的 XML 文档很大,则必须考虑内存限制。这篇文章讨论了内存问题和JAXB。
如果您没有定义模式,那么您还有更多工作要做 JAXB,但根据这篇文章,这是可能的
简而言之,尝试定义一个XSD,然后JAXB就很容易使用。
在 MQ 方面,我个人会使用 Spring 框架(支持 JAXB)来发送/接收/转换 MQ 消息。阅读Spring API中的DefaultMessageListenerContainer(假设你要在Java中动手)。或者,您可以使用Spring Integration,但我个人没有使用它。
我想JAXB符合这个目的,你不需要任何特殊的jar,因为嵌入在框架中。XOM也可以工作,但你需要第三方库。