我试图让 JAXB 在编组过程中忽略包装类,在代码中使用这个包装类是有意义的,因为它将所有相关信息放在一起,但是我需要在编组过程中摆脱它。以下是相关代码。
@XmlType(name = "root")
@XmlRootElement(name = "root")
public class Root {
@XmlElementRef
private List<Resource> resources = new ArrayList<>();
public void addResource(Resource resource) {
resources.add(resource);
}
}
@XmlRootElement(name = "", namespace = "")
@XmlAccessorType(XmlAccessType.NONE)
public class Resource {
@XmlElementRef
private Element element;
@XmlElementRef
private FieldType fieldType;
@XmlElementRef
private ListType listType;
}
Root 是主要对象,而 Resource 是我不希望为其创建节点的包装器对象。但是,我仍然希望呈现 Resource 中的 Element、FieldType 和 ListType。
这是我目前拥有的:
<root>
<>
<element name="resource1"/>
<fieldType name="resource1--type">
</fieldType>
<listType name="resource--list">
</listType>
</>
<>
<element name="resource2"/>
<fieldType name="resource2--type">
</fieldType>
<listType name="resource2--list">
</listType>
</>
</root>
我想要实现的是以下几点:
<root>
<element name="resource1"/>
<fieldType name="resource1--type">
</fieldType>
<listType name="resource--list">
</listType>
<element name="resource2"/>
<fieldType name="resource2--type">
</fieldType>
<listType name="resource2--list">
</listType>
</root>
我不知道这是否可能,但任何帮助将不胜感激。
谢谢。