Jak przekonwertować XML do java.util.Map i odwrotnie

Przeszukuję lekki interfejs API (najlepiej pojedynczą klasę), aby przekonwertować

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

do xml i odwrotnie, przekonwertuj XML z powrotem na Mapę.

przykład:

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

MagicAPI.toXML(map,"root");

wynik:

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

i z powrotem:

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

Nie chcę używaćJAXB lubAPI konwersji JSON. Nie musi zajmować się zagnieżdżonymi mapami lub atrybutami ani niczym innym, tylko prostym przypadkiem. Jakieś sugestie?

Edytować: Stworzyłem roboczą próbkę kopiowania i wklejania. Dziękifvu iMichał Bernhard.

Pobierz najnowszą strukturę XStream, „tylko rdzeń” wystarczy.

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);

Nie jest wymagany żaden konwerter ani nic innego. Tylkoxstream-x.y.z.jar wystarczy.

questionAnswers(12)

yourAnswerToTheQuestion