Como converter XML em java.util.Map e vice-versa

Estou pesquisando uma API leve (preferível classe única) para converter um

Map<String,String> map = new HashMap<String,String();

para xml e, vice-versa, converter o XML de volta para um mapa.

exemplo:

Map<String,String> map = new HashMap<String,String();
map.put("name","chris");
map.put("island","faranga");

MagicAPI.toXML(map,"root");

resultado:

<root>
  <name>chris</chris>
  <island>faranga</island>
</root>

e volta:

Map<String,String> map = MagicAPI.fromXML("...");

Eu não quero usarJAXB ouAPI de conversão JSON. Ele não precisa cuidar de mapas ou atributos aninhados ou qualquer outra coisa, apenas esse caso simples. Alguma sugestão?

Editar: Criei uma amostra de cópia e colagem de trabalho. Graças afvu eMichal Bernhard.

Baixe o mais recente framework XStream, 'core only' é suficiente.

Map<String,Object> map = new HashMap<String,Object>();
map.put("name","chris");
map.put("island","faranga");

// convert to XML
XStream xStream = new XStream(new DomDriver());
xStream.alias("map", java.util.Map.class);
String xml = xStream.toXML(map);

// from XML, convert back to map
Map<String,Object> map2 = (Map<String,Object>) xStream.fromXML(xml);

Nenhum conversor ou qualquer outra coisa é necessária. Apenas oxstream-x.y.z.jar basta.

questionAnswers(12)

yourAnswerToTheQuestion