我有一个小项目。我想将xml字符串反序列化为对象,但在创建ObjectInputStream时出现错误“无效的流标题3C3F786D”。
代码:
String value=" <?xml version="1.0" encoding="utf-8"?>
<metaData xmlns="....">
<data key="aa">fdfdfd</data>
<data key="bb">5.2.0.15947</data>
<data key="tt">
<ee SI="SIDocument">
</ee>
</data>
</metaData>";
ByteArrayInputStream bi = new ByteArrayInputStream(value.getBytes());
if(bi!=null)
{
ObjectInputStream in = new ObjectInputStream(bi);// error here
MetaData metaData= (MetaData) in.readObject();
}
我谷歌,我知道,String.getBytes不能用于ObjectInputStream。 那么,我该怎么做呢?
解决
我已经使用JAXB来序列化。看到 JAXB tutorial