用于序列化和反序列化的xstream错误

| 我在Java中使用xStream来从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();
=>序列化可以但反序列化::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();
=>我遇到了序列化问题:
Exception in thread \"main\" com.thoughtworks.xstream.io.StreamException:  : only whitespace content allowed before start tag and not . (position: START_DOCUMENT seen .... @1:1) 
    at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:78)
    at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:137)
    at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:130)
    at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:109)
    at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveDown(AbstractPullReader.java:94)
    at com.thoughtworks.xstream.io.xml.XppReader.<init>(XppReader.java:48)
    at com.thoughtworks.xstream.io.xml.XppDriver.createReader(XppDriver.java:44)
    at com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)
    at com.thoughtworks.xstream.XStream.fromXML(XStream.java:845)
使用xml:
<Test.Platform id=\"1\">
    <TaskImpl id=\"1\">
          <model reference=\"2\"/>
          <name>process</name>
    </TaskImpl>
</Test.Platform id=\"1\">
那么有什么建议吗? 提前致谢。     
已邀请:
        因此,这里忽略的是您如何读取文件。您正在使用
XStream xstream = new XStream();
xstream.fromXML(\"model.xml\");
错误中的句点(。)来自哪里。 fromXML方法需要实际的XML输入,而不是文件名。因此,当它解析您的xml(不是\“ model.xml \”实际的xml)时,就会出现错误。 XStream的站点现在关闭,所以我无法链接到API 使用FileReader / BufferedReader来获取XML的内容。这样的事情应该工作
XStream instream = new XStream();

BufferedReader br = new BufferedReader(new FileReader(\"model.xml\"));
StringBuffer buff = new StringBuffer();
String line;
while((line = br.readLine()) != null){
   buff.append(line);
}
Platform p = (Platform)instream.fromXML(buff.toString());
附言我能够复制该问题,并使用上述解决方法     

要回复问题请先登录注册