Пример #1
0
 @SuppressWarnings("incomplete-switch")
 public List<Weapon> parseByStAX() throws FileNotFoundException, XMLStreamException {
   List<Weapon> listWeapon = new ArrayList<Weapon>();
   Weapon weapon = null;
   WeaponTagName elementName = null;
   XMLInputFactory inputFactory = XMLInputFactory.newInstance();
   InputStream input = new FileInputStream("resources/weaponMarket.xml");
   XMLStreamReader reader = inputFactory.createXMLStreamReader(input);
   while (reader.hasNext()) {
     int type = reader.next();
     switch (type) {
       case XMLStreamConstants.START_ELEMENT:
         elementName =
             WeaponTagName.valueOf(reader.getLocalName().toUpperCase().replace("-", "_"));
         switch (elementName) {
           case WEAPON:
             weapon = new Weapon();
             weapon.setId(reader.getAttributeValue(null, "id"));
             break;
         }
         break;
       case XMLStreamConstants.CHARACTERS:
         String text = reader.getText().trim();
         if (text.isEmpty()) {
           break;
         }
         switch (elementName) {
           case WEAPON_TYPE:
             weapon.setWeaponType(text);
             break;
           case WEAPON_NAME:
             weapon.setWeaponName(text);
             break;
           case COST:
             weapon.setCost(text);
             break;
         }
         break;
       case XMLStreamConstants.END_ELEMENT:
         elementName =
             WeaponTagName.valueOf(reader.getLocalName().toUpperCase().replace("-", "_"));
         switch (elementName) {
           case WEAPON:
             listWeapon.add(weapon);
         }
     }
   }
   return listWeapon;
 }
Пример #2
0
 public List<Weapon> parseByDOM() throws SAXException, IOException {
   List<Weapon> listWeapon = new ArrayList<Weapon>();
   Weapon weapon = null;
   DOMParser parser = new DOMParser();
   parser.parse("resources/weaponMarket.xml");
   Document document = parser.getDocument();
   Element root = document.getDocumentElement();
   NodeList weaponNodes = root.getElementsByTagName("weapon");
   for (int i = 0; i < weaponNodes.getLength(); i++) {
     weapon = new Weapon();
     Element weaponElement = (Element) weaponNodes.item(i);
     weapon.setId(weaponElement.getAttribute("id"));
     weapon.setWeaponName(getSingleChild(weaponElement, "weapon-name").getTextContent().trim());
     weapon.setWeaponType(getSingleChild(weaponElement, "weapon-type").getTextContent().trim());
     weapon.setCost(getSingleChild(weaponElement, "cost").getTextContent().trim());
     listWeapon.add(weapon);
   }
   return listWeapon;
 }