1
我在尝试对对象进行解组时遇到了继承问题。这里是我的类EclipseLink和Spring OXM继承问题
一个
@XmlRootElement(name="A")
public abstract class A{
}
乙
@XmlRootElement(name="B")
public class B extends A{
String bField;
@XmlAttribute(name="b")
public String getBField(){
return bField;
}
public void setBField(String value){
this.bField = value;
}
}
Ç
@XmlRootElement(name="C")
public class C extends A{
String cField;
@XmlAttribute(name="c")
public String getCField(){
return cField;
}
public void setCField(String value){
this.cField = value;
}
}
集装箱
@XmlRootElement(name="container")
public class Container{
ArrayList<B> listB;
ArrayList<C> listC;
public ArrayList<B> getListB(){
return listB;
}
@XmlElementWrapper(name="list-B")
@XmlElement(name="b")
public ArrayList<B> getListB(){
return listB;
}
@XmlElementWrapper(name="list-C")
@XmlElement(name="c")
public ArrayList<C> getListC(){
return listC;
}
public ArrayList<C> getListC(){
return listC;
}
}
然后输入XML文件
<container>
<list-B>
<b b="BFied"/>
</list-B>
<list-C>
<c c="CField"/>
</list-C>
</container>
我使用的EclipseLink JAXB与Spring OXM集成。当我将xml文件解组到Container的一个实例时,每一件事都是重复的。在列表B中,我有两个重复的B实例(与列表C相同的东西)。
请让我知道我在哪里做错了?谢谢!
非常感谢,看到这个详细的答案真是太好了。也许,我是一个糟糕的程序员,或者是一些神奇的东西出现。昨天,我保持相同的来源,然后再次运行程序,一切正常工作: - ? 。 EclipseLink为我节省了很多来自XML编组的时间,许多感谢eclipselink项目 – TuanAnh207 2012-07-26 03:26:14
亲爱的Blaise,现在我想出了问题是如何发生的。我的项目是一个maven项目,在eclise内运行正常,但是当我使用“mvn测试”时,问题发生了。不明白为什么。 – TuanAnh207 2012-07-31 05:34:19