En fait, il y a une réponse sur le site XStream - dans le tutoriel Converter;)
De http://x-stream.github.io/converter-tutorial.html:
public Object unmarshal(HierarchicalStreamReader reader,
UnmarshallingContext context) {
Birthday birthday = new Birthday();
if (reader.getAttribute("gender").charAt(0) == 'm') {
birthday.setGenderMale();
} else {
birthday.setGenderFemale();
}
reader.moveDown();
Person person = (Person)context.convertAnother(birthday, Person.class);
birthday.setPerson(person);
reader.moveUp();
reader.moveDown();
Calendar date = (Calendar)context.convertAnother(birthday, Calendar.class);
birthday.setDate(date);
reader.moveUp();
return birthday;
}
(Il est dans la dernière exemple/bloc de code sur la page)
HTH
EDIT:. Je voulais juste ajouter que vous aurez envie de passer par ce tutoriel entier, et non ju st chercher ce bloc de code. Vous devrez créer votre propre convertisseur et l'enregistrer avec votre instance XStream. (Probablement évident, mais juste au cas où ...)
était juste écrire la même chose. Ajouter un lien vers les documents d'annotations: http://xstream.codehaus.org/annotations-tutorial.html – daveb
@daveb: merci pour l'indice –
+1 Cela m'a complètement échappé qu'il y aurait une annotation pour cela. Devrait avoir thunk ... – MCory