【问题标题】:How do I annotate a class that extends a HashMap for XML Marshalling如何注释扩展 HashMap 以进行 XML 编组的类
【发布时间】:2014-06-04 20:11:46
【问题描述】:

如何使用 JAXB 注释扩展 HashMap 以进行 XML 编组的类。

此示例代码

@XmlAccessorType(XmlAccessType.FIELD)
public class ExampleMap extends HashMap<String,String>{

   public String group= "Test Group";

}

产生这个xml

<ExampleMap>
  <group>Test Group</group>
</ExampleMap>

我可以把这个类修改成这个

@XmlAccessorType(XmlAccessType.FIELD)
public class ExampleMap extends HashMap<String,String>{

    public String group= "Test Group";
    public Map<String,String> self = this;

}

我现在明白了

<ExampleMap>
  <group>Test Group</group>
  <self>
    <entry><key>2</key><value>2</value></entry>
    <entry><key>1</key><value>1</value></entry>
  </self>
</ExampleMap>

这是我想要的结果,但使用自引用 Map&lt;String,String&gt; self = this; 感觉不对。

应该怎么做?

【问题讨论】:

    标签: java xml jaxb


    【解决方案1】:

    事实证明,虽然感觉不对,但实际上这是一种真正的做法。

    虽然这个答案https://stackoverflow.com/a/4152683/3696510 使用 get 方法返回 'this',但结果是一样的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 2018-01-01
      • 2013-05-20
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      相关资源
      最近更新 更多