将项目保存到XML文件中

时间:2014-03-12 12:35:32

标签: java xml dom jaxb

我正在使用Netbeans在java中编写游戏。

我希望能够在每轮开始时将游戏保存到XML文件中,并且能够在游戏开始时加载任何已保存的游戏。

XML文件最终应包括保存时的游戏当前状态(玩家,姓名,金额等)。

我通过互联网阅读并理解我需要使用DOM创建游戏所有类的内容树,然后使用JAXB将树格式化为XML文件。

我不知道从哪里开始,如何创建上下文树,等等。

任何帮助或好的教程都会有所帮助(无法找到任何好的东西)。

2 个答案:

答案 0 :(得分:0)

这是一个广泛的问题,但如果您不知道如何使用jaxb从java bean读取/写入XML,请查看本教程http://www.vogella.com/tutorials/JAXB/article.html。我会在尝试制作游戏之前从那里开始。

答案 1 :(得分:0)

JAXB使您可以轻松地将Java对象的实例转换为XML或从XML转换。使用JAXB,您永远不需要直接与DOM交互。

JAXBContext jc = JAXBContext.newInstance(Game.class);

File file = new File("gameData.xml");

Unmarshaller unmarshaller = jc.createUnmarshaller();
Game game = (Game) unmarshaller.unmarshal(file);

Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(game, file);

JAXB是异常配置,意味着您只需要在模型中注释XML表示与默认值不同。以下内容将帮助您入门: