@Override public void parseFile() { final Document doc; try { final File xmlFile = new File(fileLoc); final DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); final DocumentBuilder dbBuilder; dbBuilder = dbFactory.newDocumentBuilder(); doc = dbBuilder.parse(xmlFile); doc.getDocumentElement().normalize(); } catch (ParserConfigurationException | SAXException | IOException e) { logger.error("Unable to parse xml file due to: \n" + e); return; } final NodeList nodeList = doc.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { final Node node = nodeList.item(i); final String nodeName = node.getNodeName(); XmlAttributeType xmlAttributeType = XmlAttributeType.valueOf(nodeName.toUpperCase()); if (xmlAttributeType == XmlAttributeType.DATA) { recurseDocument(node); } int p = 0; } }
private void recurseDocument(Node node) { final NodeList nodeList = node.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { final Node childNode = nodeList.item(i); final String nodeName = childNode.getNodeName(); XmlAttributeType xmlAttributeType = XmlAttributeType.valueOf(nodeName.toUpperCase()); switch (xmlAttributeType) { case VARIABLE: parseVariableNode(childNode); break; case ENTRY: parseEntryNode(childNode); break; } } }