2010-03-09 50 views
1

我正在編寫一個RESTful Web服務客戶端。服務端點需要這種格式的XML:如何使用JAXB將屬性添加到HashMap?

<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>>... 

我的代碼做我想要的一切,但我無法弄清楚如何得到'在我的適配器中鍵入= \「array \」。思考?

回答

0

您可以將下面的代碼片段添加到MyElementMap:

@XmlAttribute(name="type") 
private final String type = "array"; 

這會奇蹟般地出現在你的頂級元素XML標記的屬性!

+0

看起來並不神奇。 – 2014-03-06 09:49:12