J'utilise JAXB pour écrire mes objets dans un fichier XML en Java. Il écrit avec succès. Je vérifie le fichier XML et toutes les valeurs sont vraies. Mais quand je veux lire ce fichier XML, certaines valeurs d'éléments changent. Avez-vous une idée?Problème d'analyse XML JAXB
Ma classe Table a 2 instances dont les types sont Liste des lignes (Classe de ligne) et Type (de Classe de type).
Table t = tester.readXML("tables/course.xml");
List<Row> rows = new LinkedList<Row>();
rows.addAll(t.getRows());
for(Row r : rows)
System.out.println(r.getName() + " " + r.getType().getIsPrimary());
}
Voici les méthodes Reader XML:
public Table readObject(String filepath) throws JAXBException {
JAXBContext jc = JAXBContext.newInstance(Table.class);
Unmarshaller u = jc.createUnmarshaller();
Table hw = (Table) u.unmarshal(new File(filepath));
return hw;
}
public Table readXML(String file) {
try {
File f = new File(file);
if(f.exists()) {
Table t = new Table();
t = readObject(file);
return t;
}
} catch (JAXBException e) {
e.printStackTrace();
}
return null;
}
Pouvez-vous poster la fonction ReadXML? Aussi, pourriez-vous poster le code qui écrit/marshals le XML? – Pace
désolé, je l'envoie – onurbaysan
Quelles sont les valeurs qui ont changé? De même, si vous réécrivez le fichier XML chargé dans le fichier, cela devient-il différent du fichier XML original? –