package com.opentrafficsimulation.screen.report; import java.io.File; import java.util.ArrayList; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class EmissionReport { public ArrayList<EmissionInfo> readEmissionReport(String emissionFile) { ArrayList<EmissionInfo> emissionInfoList = new ArrayList<>(); try { File nodes = new File(emissionFile); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document document = dBuilder.parse(nodes); document.getDocumentElement().normalize(); NodeList tripInfoElements = document.getElementsByTagName("vehicle"); for (int i = 0; i < tripInfoElements.getLength(); i++) { Node node = tripInfoElements.item(i); Element element = (Element) node; EmissionInfo emissionInfo = new EmissionInfo(); emissionInfo.id = element.getAttribute("id"); emissionInfo.eclass = element.getAttribute("eclass"); emissionInfo.co2 = element.getAttribute("co2"); emissionInfo.co = element.getAttribute("co"); emissionInfo.hc = element.getAttribute("hc"); emissionInfo.nox = element.getAttribute("nox"); emissionInfo.pmx = element.getAttribute("pmx"); emissionInfo.noise = element.getAttribute("noise"); emissionInfo.route = element.getAttribute("route"); emissionInfo.type = element.getAttribute("type"); emissionInfo.waiting = element.getAttribute("waiting"); emissionInfo.lane = element.getAttribute("lane"); emissionInfo.pos = element.getAttribute("pos"); emissionInfo.speed = element.getAttribute("speed"); emissionInfo.angle = element.getAttribute("angle"); emissionInfo.x = element.getAttribute("x"); emissionInfo.y = element.getAttribute("y"); emissionInfoList.add(emissionInfo); } } catch (Exception e) { e.printStackTrace(); } return emissionInfoList; } }