@Override public void fromXML(XmlPullParser parser) throws Exception { boolean done = false; do { switch (parser.getEventType()) { case XmlPullParser.START_TAG: String tagName = parser.getName(); if (tagName.equals(getChildElement())) { parser.next(); } else if (tagName.equals(TicketAmount.CHILD_ELEMENT)) { TicketAmount entity = new TicketAmount(); entity.fromXML(parser); this.Tickets.add(entity); parser.next(); } else if (tagName.equals("error")) { parser = parseErrorAttributes(parser); } else parser.next(); break; case XmlPullParser.END_TAG: if (parser.getName().equals(getChildElement())) done = true; else parser.next(); break; case XmlPullParser.END_DOCUMENT: done = true; break; default: parser.next(); } } while (!done); }
@Override public String payloadToXML() { StringBuilder sb = new StringBuilder(); for (TicketAmount entry : Tickets) { sb.append("<" + TicketAmount.CHILD_ELEMENT + ">"); sb.append(entry.toXML()); sb.append("</" + TicketAmount.CHILD_ELEMENT + ">"); } sb = appendErrorPayload(sb); return sb.toString(); }