@Override public void endElement(String uri, String localName, String qName) throws SAXException { curElem = false; curValue = curValue.trim(); // check for a known tag if (qName.equals("name")) { curMission.setName(curValue); } else if (qName.equals("players")) { curMission.setPlayers(curValue); } else if (qName.equals("time-limit")) { curMission.setTime(curValue, true); } else if (qName.equals("time")) { curMission.setTime(curValue, false); } else if (qName.equals("info")) { curMission.setInfo(curValue); } else if (qName.equals("mission")) { // Log.v(tag, "Adding mission " + curName + " (" + curMission.getName() + ")"); data.put(curName, curMission); curName = ""; curMission = null; } else if (qName.equals("details")) { mLoaded = true; } curValue = ""; }
@Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { curElem = true; // check for a known tag if (qName.equals("details")) { data = new HashMap<String, MissionInfo>(); mLoaded = false; } else if (qName.equals("mission")) { curName = attributes.getValue("id"); curMission = new MissionInfo(); curMission.setName(curName); } else if (qName.equals("reward")) { int level = Integer.parseInt(attributes.getValue("level")); int exp = Integer.parseInt(attributes.getValue("exp")); int gold = Integer.parseInt(attributes.getValue("gold")); curMission.setExp(level, exp); curMission.setGold(level, gold); // Log.v(tag, String.format("Diff: %d, %d, %d", level, exp, gold)); } }