有没有办法使用SimpleXML将信息传递给Commit函数?

时间:2014-12-10 04:08:52

标签: java simple-framework

我想反序列化包含相对于xml文件的文件名的对象。

我正在尝试访问对象的Commit函数中的引用文件,但是我发现没有办法将xml的路径传递给Commit函数。

我可以使用全局,但我不喜欢这个想法。

我可以使用过滤器并要求xml使用过滤器选项。这种方法不是太糟糕但我不愿意。这种方法的另一个问题是在序列化时需要“不过滤”。

1 个答案:

答案 0 :(得分:0)

在序列化期间,可以使用地图来收集信息。

@Commit
public void commit(Map session) {
  String blah = session.get("xyz")
  session.put("abc", "foo");
}

此外,您可以在序列化之前预先实例化对象。

Foo foo = new Foo("my/path");
Persister persister = new Persister();
InputStream in = new FileInputStream("my/path");
persister.read(foo, in);