Java JAXB marshall类只有一个属性,没有中间元素

Java JAXB marshall类只有一个属性,没有中间元素,java,xml,jaxb,marshalling,Java,Xml,Jaxb,Marshalling,我有以下课程: class A { Map<String, String> mapping; public A() {...} private Map<String, String> getMapping() {...}; private void setMapping(Map<String, String> mapping) { ... }; } JAXB甚至没有调用适配器代码 我的第二个尝试是使用另一个适配器,AAdapter应该直接

我有以下课程:

class A {
  Map<String, String> mapping;

  public A() {...}

  private Map<String, String> getMapping() {...};
  private void setMapping(Map<String, String> mapping) { ... };
}
JAXB甚至没有调用适配器代码

我的第二个尝试是使用另一个适配器,AAdapter应该直接处理对象,我认为它可以通过以下方式配置:

<Class name="A">
  <XmlRootElement name="a"/>
    <XmlJavaTypeAdapter value="AAdapter"/>
</Class>
如果调用了AAdapter,它应该直接生成entry元素

我看到了多篇关于如何删除子属性的中间标记的相关文章,但它们似乎与我的问题不同,因为这里我想删除直接属性的元素

那么,如何调用属性的适配器而不将其结果放入元素中呢?或者如何直接在类上调用适配器进行序列化

提前感谢您的回答

编辑:基于此,设计上似乎不可能,但如果有人有解决办法,那就太好了

<Class name="A">
  <XmlRootElement name="a"/>
    <Method name="getMapping">
      <XmlElement name="mapping"/>
      <XmlJavaTypeAdapter value="MappingAdapter"/>
    </XmlMethod>
</Class>
<a>
    <mapping>
        <entry key="test" value="a"/>
        <entry key="mdx.foo" value="bar"/>
    </mapping>
</a>
<a/>
<Class name="A">
  <XmlRootElement name="a"/>
    <XmlJavaTypeAdapter value="AAdapter"/>
</Class>
<a/>