Cómo convertir XML a java.util.Map y viceversa

Estoy buscando una API ligera (preferible de una sola clase) para convertir un

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

a xml y viceversa, vuelva a convertir el XML en un mapa.

ejemplo:

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>

y vuelta:

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

No quiero usarJAXB oAPI de conversión JSON. No tiene que hacerse cargo de mapas o atributos anidados o cualquier otra cosa, solo ese simple caso. ¿Alguna sugerencia?

Editar: He creado una copia de trabajo y una muestra de pasta. Gracias afvu yMichal Bernhard.

Descargar el último marco de XStream, 'solo el núcleo' es 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);

No se requieren convertidores o cualquier otra cosa. Solo elxstream-x.y.z.jar es suficiente.

Respuestas a la pregunta(12)

Su respuesta a la pregunta