public Gathering ReadGatheringXML(File _gatheringFile) { ArrayList<GatheringsPlayerData> playerList = new ArrayList<GatheringsPlayerData>(); Document dom = null; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); dom = db.parse(_gatheringFile); } catch (ParserConfigurationException pce) { return new Gathering(playerList, 0); } catch (SAXException se) { return new Gathering(playerList, 0); } catch (IOException ioe) { return new Gathering(playerList, 0); } if (dom == null) return new Gathering(playerList, 0); Element docEle = dom.getDocumentElement(); // Element playerList = (Element) // docEle.getElementsByTagName("players").item(0); // int numOfPlayers = Integer.parseInt(playerList.getAttribute("number")); NodeList nl = docEle.getElementsByTagName("player"); if (nl != null && nl.getLength() > 0) { for (int i = 0; i < nl.getLength(); i++) { Element el = (Element) nl.item(i); Element name = (Element) el.getElementsByTagName("name").item(0); String customName = ""; customName = (String) name.getChildNodes().item(0).getNodeValue(); Element life = (Element) el.getElementsByTagName("startinglife").item(0); String sLife = (String) life.getChildNodes().item(0).getNodeValue(); int startingLife = Integer.parseInt(sLife); GatheringsPlayerData player = new GatheringsPlayerData(); player.setCustomName(customName); player.setStartingLife(startingLife); playerList.add(player); } } int displayMode; Element mode = (Element) docEle.getElementsByTagName("displaymode").item(0); if (mode != null) { String sMode = (String) mode.getChildNodes().item(0).getNodeValue(); displayMode = Integer.parseInt(sMode); } else { displayMode = 0; } return new Gathering(playerList, displayMode); }
public void writeGatheringXML( String _fileName, ArrayList<GatheringsPlayerData> _players, String _gatheringName, int _displayMode) { String dataXML = ""; XmlSerializer serializer = Xml.newSerializer(); StringWriter writer = new StringWriter(); try { serializer.setOutput(writer); serializer.startDocument("UTF-8", true); serializer.startTag("", "gathering"); serializer.startTag("", "name"); serializer.text(_gatheringName); serializer.endTag("", "name"); serializer.startTag("", "displaymode"); serializer.text(String.valueOf(_displayMode)); serializer.endTag("", "displaymode"); serializer.startTag("", "players"); for (GatheringsPlayerData player : _players) { String name = player.getName(); String life = String.valueOf(player.getStartingLife()); if (life == null || life == "") life = "0"; serializer.startTag("", "player"); serializer.startTag("", "name"); serializer.text(name); serializer.endTag("", "name"); serializer.startTag("", "startinglife"); serializer.text(String.valueOf(life)); serializer.endTag("", "startinglife"); serializer.endTag("", "player"); } serializer.endTag("", "players"); serializer.endTag("", "gathering"); serializer.endDocument(); dataXML = writer.toString(); } catch (Exception e) { throw new RuntimeException(e); } try { File path = new File(ctx.getFilesDir(), FOLDERPATH); if (!path.exists()) if (path.mkdirs() == false) throw new FileNotFoundException("Folders not made"); File file = new File(path, _fileName + ".xml"); BufferedWriter out = new BufferedWriter(new FileWriter(file)); out.write(dataXML); out.close(); } catch (FileNotFoundException e) { } catch (IOException e) { } }