/** * Parse and process trade history information stream. * * @param in XML document reader * @throws IOException if error reading document * @throws XmlPullParserException on document parse error */ public void parse(Reader in) throws IOException, XmlPullParserException { // set document source for parse m_parser.reset(); m_parser.setInput(in); // main pull parsing loop byte type; while ((type = m_parser.next()) != XmlPullParser.END_DOCUMENT) { // ignore everything other than a start tag if (type == XmlPullParser.START_TAG) { // process the start tags we're interested in m_parser.readStartTag(m_startTag); String lname = m_startTag.getLocalName(); if (lname.equals(STOCK_ELEMENT_NAME)) { parseStockTrade(); } else if (lname.equals(OPTION_ELEMENT_NAME)) { parseOptionTrade(); } } } }