我正在使用Netbeans在Java中编写游戏。将项目保存到XML文件
我希望能够在每轮开始时将游戏保存到XML文件,并且能够在游戏开始时加载任何已保存的游戏。
XML文件最终应包含游戏保存时的当前状态(玩家,姓名,金额等)。
我通过互联网阅读并了解到我需要使用DOM创建游戏中所有类的内容树,然后使用JAXB将树打包成XML文件。
我不知道从哪里开始,如何创建上下文树,等等。
任何帮助或良好的教程将是有益的(找不到任何好东西)。
我正在使用Netbeans在Java中编写游戏。将项目保存到XML文件
我希望能够在每轮开始时将游戏保存到XML文件,并且能够在游戏开始时加载任何已保存的游戏。
XML文件最终应包含游戏保存时的当前状态(玩家,姓名,金额等)。
我通过互联网阅读并了解到我需要使用DOM创建游戏中所有类的内容树,然后使用JAXB将树打包成XML文件。
我不知道从哪里开始,如何创建上下文树,等等。
任何帮助或良好的教程将是有益的(找不到任何好东西)。
这是一个广泛的问题,但是如果您不知道如何使用jaxb从java bean读取/写入XML,请参阅本教程http://www.vogella.com/tutorials/JAXB/article.html。我会在尝试制作游戏之前从那里开始。
JAXB使您能够轻松地将Java对象的实例转换为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表示从默认的不同来注释车型配置。下面将帮助您开始:
我不知道这是否就像“得到的一切,我们必须在内存和序列化”,然后“把一切都回来给我,所以我可以踢它开始“。 :-)可能你必须为你的游戏创建一些包含代表你的游戏“状态”并坚持它的所有数据的对象。一些对象不能被序列化(例如流) – Leo