[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
[Java] Serializing StAX Events
- From: "Johannes.Lichtenberger" <Johannes.Lichtenberger@uni-konstanz.de>
- To: xml-dev@lists.xml.org
- 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]