【发布时间】:2011-08-11 03:14:22
【问题描述】:
我使用 JAXB 将我的对象写入 Java 中的 XML 文件。它写入成功。我检查 XML 文件,所有值都是真的。但是当我想读取这个 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 Reader 方法:
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 的代码?
-
哪些价值观发生了变化?另外,如果将加载的 XML 写回文件中,它会不会与原始 XML 不同?
-
是的。如果我将加载的 XML 写回文件中,它就会变得不同。
-
您也可以发布 XML 吗?我建议您编辑您的问题,而不是将其作为答案发布。
标签: java xml parsing jaxb xml-parsing