Java JAXB复制对象
如果假定对象实例相同,如何避免创建不同的对象实例 以下是xml文件:Java JAXB复制对象,java,jaxb,Java,Jaxb,如果假定对象实例相同,如何避免创建不同的对象实例 以下是xml文件: <family> <person> <firstName>John</firstName> <father> <firstName>Gary</firstName> </father> <mother>
<family>
<person>
<firstName>John</firstName>
<father>
<firstName>Gary</firstName>
</father>
<mother>
<firstName>Jane</firstName>
</mother>
</person>
<person>
<firstName>Philip</firstName>
<father>
<firstName>Franck</firstName>
</father>
<mother>
<firstName>Jane</firstName>
</mother>
</person>
</family>
约翰
加里
简
菲利浦
弗兰克
简
父元素和母元素的类型为Person
。
我有两个具有相同母亲的人,当我解组xml文件时,它会创建Person类的两个不同实例。有没有办法告诉他们应该是同一个对象?一个XML文件可以使用与“指针”等价的东西。在XML模式方面
<xsd:element name="name" type="xsd:ID"/> <!-- in Person-->
<xsd:element name="persref" type="xsd:IDREF"/> <!-- the "pointer" to a person -->
“指针”是Person字段的值,它必须是唯一的(因此仅使用人名通常是不够的)。只编组一个“指针”值,而不是编组整个对象。完整对象本身必须单独编组
在你的例子中,这很简单,因为每个人都作为家庭成员出现过一次,而且只有一次。您只需对父亲和母亲使用“persref”元素有关技术详细信息,请参见。XML文件可以表示“指针”的等价物。但是,如果数据如您所示,则必须对对象树进行后期处理,并折叠重复/多个相同的对象。您是否也创建XML文件?你能影响它的结构吗?是的,是我创建了xml文件。那个结构很方便,我会试试看是否能找到另一种方法来构建它。谢谢。我不知道这个,但我想这就是我要找的。非常感谢。