Java 马歇尔地图<;字符串,字符串>;to.xml

Java 马歇尔地图<;字符串,字符串>;to.xml,java,xml,jaxb,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.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>
因此,它将整理出如下内容:

  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>

123
456
789
我可以用一些奇特的JAXB注释来实现这一点吗?或者是否有其他东西可以将其自身用于动态元素名称


TIA

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

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

我决定直接使用SAX输出,因为我真的不想做O/X映射,所以简单得多。我真的试图避免编写代码:)

我决定直接使用SAX输出,因为我真的不想做O/X映射,所以简单得多。我真的试图避免写代码:)

就像

  for (String key : map.keySet()) {
      System.out.printf("<%s>%s</%s>", key, map.get(key), key);
  }
for(字符串键:map.keySet()){
System.out.printf(“%s”,key,map.get(key),key);
}
??像

  for (String key : map.keySet()) {
      System.out.printf("<%s>%s</%s>", key, map.get(key), key);
  }
for(字符串键:map.keySet()){
System.out.printf(“%s”,key,map.get(key),key);
}

??

您可能希望根据XML规范转义输出。仅转义四个特殊字符并不困难,&“您可能希望根据XML规范转义输出。仅转义四个特殊字符并不困难,&”