JAXB可以根据我的对象结构来解组XML吗?
我的对象结构与XML结构没有太大区别。只想为一个元素更改它。 我有一个这样的XML结构JAXB可以根据我的对象结构来解组XML吗?,jaxb,unmarshalling,Jaxb,Unmarshalling,我的对象结构与XML结构没有太大区别。只想为一个元素更改它。 我有一个这样的XML结构 <Parent> <Child1></Child1> <Child2></Child2> <Child3></Child3> <Child3></Child3> <Child3></Child3> </Parent>
<Parent>
<Child1></Child1>
<Child2></Child2>
<Child3></Child3>
<Child3></Child3>
<Child3></Child3>
</Parent>
@XmlRootElement(name="Parent")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Parent_Type")
public class Parent {
protected List<Child1Type> child1;
protected List<Child2Type> child2;
protected List<Child3Type> child3;
}
其等价的JAXB类如下所示
<Parent>
<Child1></Child1>
<Child2></Child2>
<Child3></Child3>
<Child3></Child3>
<Child3></Child3>
</Parent>
@XmlRootElement(name="Parent")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Parent_Type")
public class Parent {
protected List<Child1Type> child1;
protected List<Child2Type> child2;
protected List<Child3Type> child3;
}
@XmlRootElement(name=“Parent”)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name=“Parent\u Type”)
公共类父类{
受保护儿童名单1;
受保护儿童名单2;
受保护儿童名单3;
}
但根据数据库模型的要求,我希望Child1下有Child3列表。这将帮助我使用Hibernate保存XML
public class Child1 {
protected List<Child3Type> child3;
}
公共类Child1{
受保护儿童名单3;
}
如何使用JAXB配置它?
或者我应该使用
afterUnmarshal
手动执行吗?我认为这不可能满足我的要求。我已经在afterUnmarshal()方法下编写了一个转换逻辑,以根据需要将常规unmarshal转换为转换。您可能对@XmlIDREF
感兴趣:@BlaiseDoughan我刚刚更新了预期的对象模型。这里Child1需要Child3的列表。很抱歉复制粘贴错误。