Valeur null lors d'un unmarshal
Bonjour,
J'esseye de lire un fichier xml avec JAXB, en ci-joint la structure du fichier xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?xml version="1.0" encoding="UTF-8"?>
<Documents>
<Document>
<Mindex>
<CodeProfil>CP1</CodeProfil>
<CodeIdentification>CI1</CodeIdentification>
<Temps>5h</Temps>
<CodeRefDGE>CodeRef1</CodeRefDGE>
</Mindex>
</Document>
<Document>
<Mindex>
<CodeProfil>CP2</CodeProfil>
<CodeIdentification>CI2</CodeIdentification>
<Temps>21h</Temps>
<CodeRefDGE>CodeRef2</CodeRefDGE>
</Mindex>
</Document>
</Documents> |
voici le mapping java correspondant pour les classes Documents, Document et Mindex :
1- Documents :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| @XmlRootElement(name = "Documents")
public class Documents implements Serializable {
/**
*
*/
private static final long serialVersionUID = 2247113839400198975L;
private List<Document> documents;
@XmlElement(name="document")
public List<Document> getDocuments() {
return documents;
}
public void setDocuments(List<Document> documents) {
this.documents = documents;
}
} |
2- Document :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| @XmlRootElement(name = "Document")
public class Document implements Serializable {
private static final long serialVersionUID = 4175219512845106595L;
private Mindex mindex;
//private Diffusion diffusion;
//private String donnee;
@XmlElement(name="Mindex")
public Mindex getMindex() {
return mindex;
}
public void setMindex(Mindex mindex) {
this.mindex = mindex;
}
} |
3- Mindex :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| @XmlRootElement(name = "Mindex")
public class Mindex implements Serializable {
private static final long serialVersionUID = -8635197680896972699L;
private String codeProfil;
private String codeIdentification;
private String temps;
private String codeRefDGE;
//private Sngi sngi;
@XmlElement(name="CodeProfil")
public String getCodeProfil() {
return codeProfil;
}
public void setCodeProfil(String codeProfil) {
this.codeProfil = codeProfil;
}
@XmlElement(name="CodeIdentification")
public String getCodeIdentification() {
return codeIdentification;
}
public void setCodeIdentification(String codeIdentification) {
this.codeIdentification = codeIdentification;
}
@XmlElement(name="Temps")
public String getTemps() {
return temps;
}
public void setTemps(String temps) {
this.temps = temps;
}
@XmlElement(name="CodeRefDGE")
public String getCodeRefDGE() {
return codeRefDGE;
}
public void setCodeRefDGE(String codeRefDGE) {
this.codeRefDGE = codeRefDGE;
}
} |
Quand j'esseye de lire le fichier xml de cette maniere , j'ai une valeur null de l'objet docs :
Code:
1 2 3 4 5
| File xmlDocuments = new File("src/main/resources/xml/docs3.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Documents.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Documents docs = (Documents) jaxbUnmarshaller.unmarshal(xmlDocuments); |
Je doute que c'est a cause du mapping de la liste de document, parce que quand j'ai esseyé un simple xml sans liste répétitif, j'ai pas eu de souci
d'ou peux venir l'erreur ?
Merci