java - 如何使用 JAXB 将属性添加到 HashMap?

标签 java xml jaxb

我正在编写一个 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/

相关文章:

java - 数组有时无法按预期工作

sql-server - tsql:将列转换为 xml 列,每行一个 xml

android - Android布局文件中的 "tools:context"是什么?

java - 将生成的源作为源文件夹添加到 Eclipse

java - jaxb XmlAccessType : PROPERTY example

java - Mule JaxB 解码无法解析 ArrayList

java - 线程间共享数据

java - 如何使用apache poi检查excel文件中的列是否隐藏

java - 在 Elasticsearch 中查找术语的出现

android - 在EditText后隐藏提示不为null