public GrabData(int stationID, final String trainFlag){


        grabTimeArrayList = new ArrayList<String>();
        arrivalTimeArrayList = new ArrayList<String>();
        destNmArrayList = new ArrayList<String>();
        isDlyArrayList = new ArrayList<String>();

        try{
            SAXParserFactory factory = SAXParserFactory.newInstance();
            SAXParser saxParser = factory.newSAXParser();

            DefaultHandler handler = new DefaultHandler(){

                boolean timeGrabbed = false;
                boolean arrival = false;
                boolean destNm = false;
                boolean isDly = false;

                public void startElement(String uri, String localName, String qName,
                                         Attributes attributes) throws SAXException {
                    // the time the information was captured
                    if(qName.equalsIgnoreCase("prdt")){
                        timeGrabbed = true;
                    }
                    // the time the train is expected to arrive
                    if(qName.equalsIgnoreCase("arrT")){
                        arrival = true;
                    }
                    // the name of the train's destination station
                    if(qName.equalsIgnoreCase("destNm")){
                        destNm = true;
                    }
                    // if the train is delayed
                    if(qName.equalsIgnoreCase("isDly")){
                        isDly = true;
                    }
                }

                public void endElement(String uri, String localName,
                                       String qName) throws SAXException {
                }

                public void characters(char ch[], int start, int length) throws SAXException{
                    if(timeGrabbed){
                        grabTimeArrayList.add(new String(ch, start, length));
                        timeGrabbed = false;
                    }
                    if(arrival){
                        arrivalTimeArrayList.add(new String(ch, start, length));
                        arrival = false;
                    }
                    if(destNm){
                        destNmArrayList.add(new String(ch, start, length));
                        destNm = false;
                    }
                    if(isDly){
                        isDlyArrayList.add(new String(ch, start, length));
                        isDly = false;
                    }
                }
            };
            // Grab XML using the unique station ID and the train line information
            saxParser.parse("http://lapi.transitchicago.com/api/1.0/ttarrivals.aspx?key=_API_KEY_&mapid=" + Integer.toString(stationID) + "&rt=" + trainFlag , handler);

        }catch(Exception e){
            e.printStackTrace();
        }
        parseToFinalData();
    }