예제 #1
0
  private final DbRow readRow(XMLStreamReader sr) throws XMLStreamException {
    expectTag(FIELD_ROW, sr);
    DbRow row = new DbRow();
    while (sr.nextTag() == XMLStreamReader.START_ELEMENT) {
      String elemName = sr.getLocalName();
      String value = sr.getElementText();

      try {
        if (!row.assign(elemName, value)) {
          throw new XMLStreamException(
              "Unexpected element <" + elemName + ">: not one of recognized field names");
        }
      } catch (IllegalArgumentException iae) {
        throw new XMLStreamException(
            "Typed access problem with input '" + value + "': " + iae.getMessage(),
            sr.getLocation(),
            iae);
      }
    }
    return row;
  }