我使用XStream
withDomDriver
来序列化和反序列化一个DefaultStyledDocument
对象,所以我在数据库中保存和检索它的状态。序列化部分运行良好,但是当它尝试反序列化时,会抛出异常:
[Fatal Error] :92:51: Character reference "&# Exception in thread "AWT-EventQueue-0" com.thoughtworks.xstream.io.StreamException: : Character reference "&#
我相信 是文档中的空格字符。
我什至尝试使用不同的驱动程序,例如:和StaxDriver
,但没有运气。JsonHierarchicalStreamDriver
JettisonMappedXmlDriver
我在这里做错了什么?
这是我的代码:
DefaultStyledDocument doc = new DefaultStyledDocument();
//initialize doc
XStream xmlstream = new XStream(new StaxDriver());
String xml = xmlstream.toXML(doc);
//save 'xml' in database
//select from database
DefaultStyledDocument document = (defaultStyledDocument) xmlstream.fromXML(result.getString(1));
//this is where the exception is thrown.
编辑 实际上 不是空格字符,因为现在我看到空格字符由“”表示。 似乎是文档的未编辑(空)部分。序列化它真的很烦人,但没有反序列化它。