← Prev in month ← Prev in thread

[Java] Serializing StAX Events

From
Johannes.Lichtenberger <>
To
Date
2010-10-07T23:22:16Z
ID
<>
Thread
[Java] Serializing StAX Events
Hello,

I wonder if any class/method is available to write
String-representations of XMLEvents to a StringBuilder or something like
that (I don't think toString() fits as I want to get a real XML-String),
assuming mValue is a StringBuilder:

while (paramReader.hasNext() && !paramFilter.accept(paramReader.peek())) {
  final XMLEvent event = paramReader.nextEvent();

  if (isTimestamp && event.isCharacters() &&
!event.asCharacters().isWhiteSpace()) {
    isTimestamp = false;
    try {
      // Parse timestamp.
      final String text = event.asCharacters().getData();
      final String[] splitted = text.split("T");
      final String time = splitted[1].substring(0, splitted[1].length()-1);
      mKey.setTimestamp(formatter.parse(splitted[0] + " " + time));
    } catch (final ParseException e) {
      LOGWRAPPER.warn(e.getMessage(), e);
    }
  }

  if (paramIsRecord) {
    // Parser currently is located somewhere after the start of a record
(inside a record).
    mValue.append(event.toString());

    if (event.isStartElement() &&
mDate.equals(event.asStartElement().getName())) {
      isTimestamp = true;
    }
  }
}

Another possibility would be to add the XMLEvents to a List, but then I
assume that currently no serialization/deserialization of XMLEvents exists!?

My task is still to write an Hadoop-Application and I'm either using
Text / String-Representation of XML fragments as the value of a
mapreduce task or I'm using a List of XMLEvents, which implement
Writable and therefore are serializable/deserializable.

regards,
Johannes
← Prev in month ← Prev in thread