FromXML XStream() Ausnahme

Ich versuche deserialisiert einen string in Java mit Hilfe der XStream-Paket. Die XStream-Paket serialisieren können meine Klasse in Ordnung. Ich bekomme die XML nicht ändern format XML) aus einer server-und versuchen zu retten, dessen Knoten die Informationen an die entsprechenden Variablen in einer bestimmten Klasse. Meine Funktion ist am Boden und ich versuchte zu registrieren, einen neuen Konverter für das XStream-Objekt (denken, dass es war, weil eine variable ist eine byte-array), aber noch kein Glück. Kann jemand etwas Licht auf diese Ausnahmen? Muss ich mich registrieren, "MyClass" und Schreibe meine eigenen Konverter für XStream zu handhaben Deserialisieren meiner Klasse? Vielen Dank im Voraus.

Ausnahme, wenn ein string oder StringReader-Objekt übergeben werden fromXML() als input:

[Fatal Error] :1:1: Content is not allowed in prolog.

com.thoughtworks.xstream.io.StreamException: : Content is not allowed in prolog.

bei com.thoughtworks.xstream.io.xml.DomDriver.createReader(DomDriver.java:86)

bei com.thoughtworks.xstream.io.xml.DomDriver.createReader(DomDriver.java:66)

bei com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)

Ausnahme, wenn ByteArrayInputStream dient als Eingabe für die fromXML():

com.thoughtworks.xstream.Wandler.ConversionException: Bytegröße : Bytegröße : Bytegröße : Bytegröße

---- Debuginformationen ----

Nachricht : Bytegröße : Bytegröße

Ursache-Ausnahme : com.thoughtworks.xstream.mapper.CannotResolveClassException

Ursache-Nachricht : Bytegröße : Bytegröße

Klasse : MyClass

erforderlich-Typ : MyClass

Pfad : /MyClass/Bytegröße

bei com.thoughtworks.xstream.core.TreeUnmarshaller.konvertieren(TreeUnmarshaller.java:89)

bei com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)

bei com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)

bei com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)

bei com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)

bei com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)

bei com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)

bei com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)

bei com.thoughtworks.xstream.XStream.fromXML(XStream.java:861)

static Object fromXmlString(String xml) 
{
    XStream xStream = new XStream(new DomDriver());
    xStream.registerConverter(new EncodedByteArrayConverter());
    //tried all 3 below
    //return xStream.fromXML(new StringReader(xml));
    //return xStream.fromXML(new ByteArrayInputStream(xml.getBytes()));
    return xStream.fromXML(xml);
}

InformationsquelleAutor | 2009-06-16

Schreibe einen Kommentar