Я использую xStream в Java для сериализации объекта Java из библиотеки Java и его десериализации на стороне клиента.
У меня есть несколько проблем:
Если я сделаю это так:
XStream xstream = new XStream();
xstream.setMode(XStream.ID_REFERENCES);
xstream.autodetectAnnotations(true);
Writer writer = new FileWriter(xmlFile);
writer.write(xstream.toXML(myObject));
writer.close();
=> сериализация в порядке, но десериализация: Исключение в потоке "main" com.gotitworks.xstream.io.StreamException:: только пробелы содержимое разрешено перед начальным тегом, но не. (позиция: START_DOCUMENT замечен .... @ 1: 1)
, если я сделаю это так:
XStream xstream = new XStream();
xstream.setMode(XStream.NO_REFERENCES);
xstream.autodetectAnnotations(true);
Writer writer = new FileWriter(xmlFile);
writer.write(xstream.toXML(myObject));
writer.close();
=> У меня проблема с сериализацией: Исключение в потоке "main" com. thinkworks.xstream.io.StreamException:: перед стартовым тегом разрешено только содержимое пробелов, но нельзя. (позиция: START_DOCUMENT просмотрен .... @ 1: 1)
в com.oughtworks.xstream.io.xml.XppReader.pullNextEvent (XppReader.java:78)
в com. Shouldtworks.xstream.io.xml.AbstractPullReader.readRealEvent (AbstractPullReader.java:137)
в com.gotitworks.xstream.io.xml.AbstractPullReader.readEvent (AbstractPullReader.java:130)
в com.oughtworks.xstream.io.xml.AbstractPullReader.move (AbstractPullReader.java:109)
в com.oughtworks.xstream.io.xml.AbstractPullReader.moveDown (AbstractPullReader.java:94)
в com.oughtworks.xstream.io.xml.XppReader.
С xml:
<Test.Platform id="1">
<TaskImpl id="1">
<model reference="2"/>
<name>process</name>
</TaskImpl>
</Test.Platform id="1">
Итак, есть предложения?
Заранее спасибо.