Bonjour,

j'arrive bien a serialiser une collection, par contre pour la déserialiser c'est vraiment la galère et google n'a pas fait mon affaire jusqu'a present.

j'ai un useCase simple pour tenter de réussir une déserialisation :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
@XStreamAlias("person")
public class Person {
	@XStreamAlias("nom")	
	String nom;
	@XStreamAlias("id")
	int age;
	@XStreamAlias("address")
	String address;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
@XStreamAlias("persons")
public class PersonList {
	@XStreamImplicit(itemFieldName = "persons")
	private List<Person> list;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
	public static void main(String[] args) {
 
		String xml = "<persons><person><nom>ABC</nom><age>12</age><address>address</address></person><person><nom>XYZ</nom><age>20</age><address>address2</address></person></persons>";
		XStream xStream = new XStream();
		xStream.processAnnotations(new Class[] { PersonList.class, Person.class });
		PersonList persons = (PersonList)xStream.fromXML(xml);
		System.out.println(persons.getList().get(0).getAddress());
Et j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Element person of type org.mule.application.formationmule.Person is not defined as field in type org.mule.application.formationmule.PersonList
J'ai essayé de pas mal d'autre façon piqué ici et la sur le web mais rien n'a été concluant.