マシャリング プロセス中に 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;
}
ルートはメイン オブジェクトであり、リソースはノードを作成したくないラッパー オブジェクトです。ただし、リソース内の 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>
それが可能かどうかはわかりませんが、助けていただければ幸いです。
ありがとう。