marshal Map <string,string =“”> to .xml </string,>

时间:2010-05-28 21:42:28

标签: java xml jaxb

如果我有以下地图设置:

map.put("foo", "123");
map.put("bar", "456");
map.put("baz", "789");

然后我想做类似的事情:

  for (String key : map.keySet().toArray(new String[0])) {
    // marshall out to .xml a tag with the name key and the
    // value map.get(key)
  }

所以它将会编组的是:

<map>
  <foo>123</foo>
  <bar>456</bar>
  <baz>789</baz>
</map>

我是否可以使用一些花哨的JAXB注释来实现这一点,还是有其他东西可以将它自己赋予动态元素名称?

TIA

3 个答案:

答案 0 :(得分:0)

你必须使用JAXB吗?我从来没有用过,但我在XStream取得了很大的成功。它非常灵活,因此您可以获得所需的XML。

答案 1 :(得分:0)

我决定采用直接SAX输出,因为我真的不想做O / X映射,因此更容易。我真的试图避免编写代码:)

答案 2 :(得分:0)

喜欢,

  for (String key : map.keySet()) {
      System.out.printf("<%s>%s</%s>", key, map.get(key), key);
  }

...