我正在编写一个 RESTful Web 服务客户端。服务端点需要以下格式的 XML:
<top-level-element type=\"array\">
<element-key>
<element>foo</element>
<other-element>bar</element>
</element-key>
</top-level-element>
我的Java代码如下:
public class Parent {
@XmlElement(name="top-level-element")
@XmlJavaTypeAdapter(TopLevelElementKeyAdapter.class)
private HashMap<String, Integer> topLevelElement = new HashMap<String, Integer>();
}
public final class TopLevelElementKeyAdapter extends
XmlAdapter<MyElementMap, HashMap<String, Integer>>...
我的代码可以完成我想要的一切,但我不知道如何将 'type=\"array\"放入我的适配器中。想法?
最佳答案
您可以将以下代码段添加到 MyElementMap:
@XmlAttribute(name="type")
private final String type = "array";
这将神奇地显示为您的顶级元素 XML 标记中的属性!
关于java - 如何使用 JAXB 将属性添加到 HashMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2412654/