草庐IT

XmlJavaTypeAdapter

全部标签

java - 在某些情况下如何忽略/禁用/恢复/覆盖 JAXB 类级 @XmlJavaTypeAdapter?

我们的模型类使用@XmlJavaTypeAdapter注释(在类级别)。解码对根元素和包含/嵌套(根据我们在自定义XmlAdapter中实现的内容)很好地工作。到目前为止,我们是XML和JSON序列化/反序列化的快乐露营者。但是,出现了一个新的需求,我不知道如何实现它?在某些情况下,我希望能够“恢复”为包含的默认JAXB行为:我希望忽略/覆盖类级别的@XmlJavaTypeAdapter注释。我花了几个小时阅读BlaiseDoughan的博客(http://blog.bdoughan.com/)并搜索StackOverflow和Google,但找不到优雅/实用的解决方案。这里是一个快速

java - @XmlJavaTypeAdapter 带继承

我为异常层次结构中的每个异常定义了一个XmlJavaTypeAdapter。我使用包装器对象来编码异常,如下所示:-@XmlRootElementpublicWrapper{Texception;}异常(exception)情况:-@XmlJavaTypeAdapter(BaseExceptionAdapter.class){publicclassBaseExceptionextendsRuntimeException{}@XmlJavaTypeAdapter(DerivedExceptionAdapter.class){publicclassDerivedExceptionexten

java - 如何以编程方式更改默认的 JAXB 日期序列化?

有没有一种方法可以更改jaxb序列化/反序列化类型的默认方式,在我的例子中是日期,而不通过注释和/或通过xmljaxb绑定(bind)指定它,如此处所述http://jaxb.java.net/guide/Using_different_datatypes.html我基本上想做这样的事情:JAXBContextjaxbContext=...;Marshallermarshaller=jaxbContext.createMarshaller().setAdapter(newDateAdapter(dateFormat));要有一个预配置的JaxBContext或Marshaller/Un

java - JAXB:是否可以在没有@XmlJavaTypeAdapter 的情况下使用XmlAdapter?

我不能将一堆XmlAdapter注册到Marshaller|Unmarshaller这样我就不需要指定@XmlJavaTypeAdapter在每个字段上,其类型本身不受JAXB支持?我觉得有点redundant.顺便说一句,someMarshaller.setAdapter(...)似乎什么都没做。 最佳答案 这是一个很好的问题!简短的回答是不,在编码器/解码器上使用setAdapter并不意味着您不必使用@XmlJavaTypeAdapter.让我用一个假设的(但有效的!)场景来解释这一点。考虑在一个网络应用程序中,一个人以具有以