Note that there are some explanatory texts on larger screens.

plurals
  1. PODeserialization with XStream - ArrayList stay null
    text
    copied!<p>I have a problem with the deserialization with XStream (from a XML to a java object).</p> <p>The deserialization works well, except for the repeatable elements (which must turn into a List)...</p> <p>My XML :</p> <pre><code>&lt;DATA&gt; &lt;ANNUAIRES&gt; &lt;REC_ANNUAIRE&gt; &lt;NOPERS&gt;1815985&lt;/NOPERS&gt; &lt;NOM&gt;Dubois A. (Evilard)&lt;/NOM&gt; &lt;LIGNEADR1&gt;DUBOIS A.&lt;/LIGNEADR1&gt; &lt;/REC_ANNUAIRE&gt; &lt;REC_ANNUAIRE&gt; &lt;NOPERS&gt;0229984&lt;/NOPERS&gt; &lt;NOM&gt;Dubois Abel (La Chaux-de-Fonds)&lt;/NOM&gt; &lt;LIGNEADR1&gt;DUBOIS ABEL&lt;/LIGNEADR1&gt; &lt;/REC_ANNUAIRE&gt; &lt;REC_ANNUAIRE&gt; &lt;NOPERS&gt;0013717&lt;/NOPERS&gt; &lt;NOM&gt;Dubois Achim (Corpataux-Magnedens)&lt;/NOM&gt; &lt;LIGNEADR1&gt;DUBOIS ACHIM&lt;/LIGNEADR1&gt; &lt;/REC_ANNUAIRE&gt; &lt;REC_ANNUAIRE&gt; &lt;NOPERS&gt;1602681&lt;/NOPERS&gt; &lt;NOM&gt;Dubois Adrienne (Orvin)&lt;/NOM&gt; &lt;LIGNEADR1&gt;DUBOIS ADRIENNE&lt;/LIGNEADR1&gt; &lt;/REC_ANNUAIRE&gt; &lt;REC_ANNUAIRE&gt; &lt;NOPERS&gt;0384177&lt;/NOPERS&gt; &lt;NOM&gt;Dubois Agnes (Thun 7)&lt;/NOM&gt; &lt;LIGNEADR1&gt;DUBOIS AGNES&lt;/LIGNEADR1&gt; &lt;/REC_ANNUAIRE&gt; &lt;REC_ANNUAIRE&gt; &lt;NOPERS&gt;1424276&lt;/NOPERS&gt; &lt;NOM&gt;Dubois Agnes (Bussigny-Lausanne)&lt;/NOM&gt; &lt;LIGNEADR1&gt;DUBOIS AGNES&lt;/LIGNEADR1&gt; &lt;/REC_ANNUAIRE&gt; &lt;NBREC EOF="False"&gt;50&lt;/NBREC&gt; &lt;DUREE_EXECSQL&gt;0&lt;/DUREE_EXECSQL&gt; &lt;DUREE_BUILDXML&gt;0&lt;/DUREE_BUILDXML&gt; &lt;/ANNUAIRES&gt; &lt;/DATA&gt; </code></pre> <p>My XStream Code :</p> <pre><code>XStream xs = new XStream(); xs.alias("DATA", PojoPersonne.class); xs.alias("REC_ANNUAIRE", Personne.class); xs.aliasField("ANNUAIRES", PojoPersonne.class, "annuaire"); xs.aliasField("NOPERS", Personne.class, "idPersonne"); xs.aliasField("NOM", Personne.class, "identite"); xs.aliasField("STATUS", PojoPersonne.class, "status"); xs.addImplicitCollection(PojoPersonne.class, "listePersonne"); PojoPersonne pojo = (PojoPersonne)xs.fromXML(xml); System.out.println(pojo); pojo.afficheListe(); </code></pre> <p>My PojoPersonne class : </p> <pre><code>public class PojoPersonne { private String annuaire; private List&lt;Personne&gt; listePersonne = new ArrayList&lt;&gt;(); private String status; public PojoPersonne(String annuaire, ArrayList&lt;Personne&gt; listePersonne, String status){ this.annuaire = annuaire; this.listePersonne = listePersonne; this.status = status; } public PojoPersonne(){ this.listePersonne = new ArrayList&lt;&gt;(); } } </code></pre> <p>So the problem is from the listePersonne ArrayList... it's always null (or empty if I use <code>XStream xs = new XStream(new PureJavaReflectionProvider());</code>)</p> <p>Thanks for your help</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload