Как добавить атрибут в HashMap с помощью JAXB? - PullRequest
1 голос
/ 10 марта 2010

Я пишу клиент веб-службы RESTful. Конечной точке службы требуется 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 \" в мой адаптер. Мысли?

1 Ответ

0 голосов
/ 10 марта 2010

Вы можете добавить следующий фрагмент в MyElementMap:

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

Это будет волшебным образом отображаться как атрибут в вашем XML-теге верхнего уровня!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...