Erro no Parsing Castor e XStream

1 resposta
C

Pessoal, estou com problema em fazer o parsing de um objeto quando tenho um atributo do tipo GregorianCalendar.

import java.util.GregorianCalendar;

public class MyObject {
	private Long number;	
	private GregorianCalendar calendar;		

	public GregorianCalendar getCalendar() {
		return calendar;
	}

	public void setCalendar(GregorianCalendar calendar) {
		this.calendar = calendar;
	}

	public Long getNumber() {
		return number;
	}

	public void setNumber(Long long1) {
		number = long1;
	}
}
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
import java.util.GregorianCalendar;

import org.exolab.castor.xml.MarshalException;
import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;
import org.exolab.castor.xml.ValidationException;
import org.xml.sax.InputSource;

public class TesteParsing {
	public static void main(String[] args) throws MarshalException, ValidationException, IOException {		
		MyObject myObject = new MyObject();
		myObject.setCalendar(new GregorianCalendar());
		myObject.setNumber(new Long(2));		
		StringWriter stringWriter = new StringWriter();
		TesteParsing.marshaller(myObject, stringWriter);
		StringReader reader = new StringReader(stringWriter.toString());
		MyObject obj = (MyObject) TesteParsing.unmarshaller(myObject, reader);
	}

	public static Object unmarshaller(Object object, Reader reader) throws MarshalException, ValidationException {
		Object unmarshalObject = null;
		InputSource inputSource = new InputSource(reader);
		Unmarshaller unmarshaller = new Unmarshaller(object.getClass());
		unmarshalObject = unmarshaller.unmarshal(inputSource);
		return unmarshalObject;	
	}

	public static void marshaller(Object object, Writer writer) throws IOException, MarshalException, ValidationException {
		Marshaller marshaller = new Marshaller(writer);
		marshaller.marshal(object);
	}
}

Quando faz o parsing de XML para Object acontece o seguinte erro:

org.xml.sax.SAXException: Parsing Error : Attribute "raw-offset" was already specified for element "time-zone".
Line : 2
Column : 240

at org.exolab.castor.xml.UnmarshalHandler.fatalError(UnmarshalHandler.java:2228)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at walgreens.TesteParsing.main(TesteParsing.java:36)
Exception in thread "main"

Estou usando o Castor, tentei também com o XStream e o mesmo problema aconteceu. Por acaso alguém tem a solução desse problema?

Desde já valeu.

1 Resposta

_fs

Você leu a mensagem de erro?

Criado 4 de agosto de 2006
Ultima resposta 4 de ago. de 2006
Respostas 1
Participantes 2