[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Johannes.Lichtenberger" <Johannes.Lichtenberger@u...>
  • To: xml-dev@l...
  • Date: Fri, 08 Oct 2010 01:22:16 +0200

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


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member