Java 使用JAXB更改MapAdapters默认元素输出名称

Java 使用JAXB更改MapAdapters默认元素输出名称,java,xml,serialization,jaxb,Java,Xml,Serialization,Jaxb,我创建了以下类来将映射映射到动态目标[]: 类DynamicTargetMapAdapter扩展了XmlAdapter{ 公共DynamicTarget[]封送处理(映射arg0)引发异常{ DynamicTarget[]mapElements=新的DynamicTarget[arg0.size()]; int i=0; 对于(DynamicTarget d:arg0.values())mapElements[i++]=d; 返回映射元素; } 公共映射解组(DynamicTarget[]arg

我创建了以下类来将
映射
映射到
动态目标[]

类DynamicTargetMapAdapter扩展了XmlAdapter{
公共DynamicTarget[]封送处理(映射arg0)引发异常{
DynamicTarget[]mapElements=新的DynamicTarget[arg0.size()];
int i=0;
对于(DynamicTarget d:arg0.values())mapElements[i++]=d;
返回映射元素;
}
公共映射解组(DynamicTarget[]arg0)引发异常{
Map r=新的HashMap();
for(DynamicTarget d:arg0)r.put(d.getName(),d);
返回r;
}
}
结果是:

<dynamicTargets>
    <item>
        ...
    </item>
    <item>
        ...
    </item>
    <item>
        ...
    </item>
</dynamicTargets>

...
...
...
但这正是我想要实现的:

<dynamicTargets>
    <target>
        ...
    </target>
    <target>
        ...
    </target>
    <target>
        ...
    </target>
</dynamicTargets>

...
...
...

我需要做什么才能获得所需的输出?

尝试使用
@RootElement(name=“target”)
注释
dynamicTargets
,并使用
@xmlementref
注释
dynamicTargets
属性。未经测试。