[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] [Java] Serializing StAX Events
- From: Michael Kay <mike@saxonica.com>
- To: xml-dev@lists.xml.org
- Date: Fri, 08 Oct 2010 09:34:43 +0100
Ah, I see you probably wanted Java serialization rather than XML
serialization. Perhaps.
Michael Kay
Saxonica
On 08/10/2010 9:14 AM, Michael Kay wrote:
> Looks something like this
>
> http://tutorials.jenkov.com/java-xml/stax-xmleventwriter.html
>
> If you want a String at the end, just use a StringWriter as you
> Writer. If you really want a StringBuilder rather than a String, you
> may have to write your own Writer, but that seems easy enough.
>
> (Saxon 9.3 adds a StAX writing interface to allow you to write
> programmatically to the Saxon serializer, with full control of all the
> serialization parameters, but that's not released yet).
>
> Michael Kay
> Saxonica
>
>
> On 08/10/2010 12:22 AM, Johannes.Lichtenberger wrote:
>> 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
>>
>> _______________________________________________________________________
>>
>> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
>> to support XML implementation and development. To minimize
>> spam in the archives, you must subscribe before posting.
>>
>> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
>> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
>> subscribe: xml-dev-subscribe@lists.xml.org
>> List archive: http://lists.xml.org/archives/xml-dev/
>> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>>
>>
>
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]