【发布时间】:2011-12-03 18:58:11
【问题描述】:
目前在应用程序中,我们得到一个 SOAP 响应 xml,其中每个元素都附加了命名空间。我已经硬编码到我的代码中,因为应用程序需要干净的 xml,所以忽略了命名空间。但是在测试时,它被认为是一个弱解决方案,因为名称空间将来可能会发生变化。
有人建议我使用 jaxb。我目前正在使用 xtream,因为我们可以直接读取 xml。所以我开始研究jaxb。但是 jaxb 需要 xsd。我已经理解了这个过程,但我不确定如何在我的应用程序中实现 Jaxb,因为我收到了一个 xml 响应。
所以,我的问题是在这种情况下可以用 jaxb 替换 xtream 吗?
谢谢
【问题讨论】:
-
我也可以使用 xslt 来删除命名空间吗?
-
"但是 jaxb 需要 xsd" - 不正确,它不需要这样的东西。你可能想做更多的背景阅读,你的假设有点偏离。
-
@skaffman 你能详细说明一下吗?因为我是 jaxb 的新手,从 wat 我看到从 xml 到 java 对象的转换需要 xsd 来运行 xjc 绑定编译器。
-
您可能会发现以下文章很有帮助。它使用 JAXB 和 XStream 将相同的对象映射到 XML:blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-xstream.html
-
哇,这正是我所需要的。非常感谢。
标签: xml soap namespaces jaxb xstream