小编Rua*_*ain的帖子

是否可以在JAXB编组期间忽略包装类

我正在尝试让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;
}
Run Code Online (Sandbox Code Playgroud)

Root是主要对象,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>
Run Code Online (Sandbox Code Playgroud)

我想要实现的目标如下:

<root>
    <element name="resource1"/>
    <fieldType name="resource1--type"> …
Run Code Online (Sandbox Code Playgroud)

java xml jaxb

4
推荐指数
1
解决办法
7830
查看次数

标签 统计

java ×1

jaxb ×1

xml ×1