java – 具有相同名称的Jaxb对象
发布时间:2020-12-14 19:17:42 所属栏目:Java 来源:网络整理
导读:似乎可以解组两个具有相同名称的不同jaxb对象. 有一个酒吧班 public abstract Bar { private @XmlElement String val;} ..有两个实现(构造函数等省略): @XmlRootElement(name="bar")public class BarA extends Bar { }@XmlRootElement(name="bar")public cl
似乎可以解组两个具有相同名称的不同jaxb对象. 有一个酒吧班……
..有两个实现(构造函数等省略):
最后,我想从XML解组一个Bar文档列表,类似于以下内容
该列表包含在使用
但是我似乎只获取了BarA或BarB的实例,无论哪个是@XmlElementRefs链中的最后一个元素. 测试代码:
我认为JAXB @XmlElements,different types but same name?中建议的XmlAdapter不一定是唯一的方法. 最佳答案
实际上,我要做的第一件事是消除问题的根源 – 拥有两个不同的JAXB类同名.对于您和需要维护代码的人来说,这样的情况必将引起令人头疼的问题.
如果这是不可能的……也许你可以编写另一个名为EveryBar的子类,并且总是解组它. EveryBar将包含每个其他Bar子类的所有字段.然后,您将在对象树上执行一个后处理步骤,该步骤将检查EveryBar,并将其交换为适合的任何类型的实例.是的,这是一个丑陋的解决方案,但它只比你的链接稍微差一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |