我使用JAXB将我的对象写入Java中的XML文件。它成功写入。我检查XML文件,所有的值都是真实的。但是当我想读取这个XML文件时,一些元素值会改变。你有什么想法吗?JAXB XML解析问题
我的表类有2个实例,其类型是行列表(行类)和类型(从类型类)。
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());
}
下面是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;
}
你能张贴ReadXML的功能?另外,您可以发布写入/编组XML的代码吗? – Pace 2011-04-22 18:10:23
对不起,我发送 – onurbaysan 2011-04-22 18:15:57
什么值改变了?另外,如果将加载的XML写回文件,它是否与原始XML不同? – 2011-04-22 18:24:34