C# 刚刚序列化的数据的反序列化失败,为什么?
我试图在silverlight中序列化和反序列化对象,但似乎无法使其正常工作。序列化工作得很好,但它抱怨我的rootObject没有被期望。我不明白,因为是Silverlight生成了XML 顺便说一句;我对C还是新手# 我有一个类,看起来像:C# 刚刚序列化的数据的反序列化失败,为什么?,c#,silverlight,xml-deserialization,C#,Silverlight,Xml Deserialization,我试图在silverlight中序列化和反序列化对象,但似乎无法使其正常工作。序列化工作得很好,但它抱怨我的rootObject没有被期望。我不明白,因为是Silverlight生成了XML 顺便说一句;我对C还是新手# 我有一个类,看起来像: [XmlRoot("DataStorage")] // has no effect public class DataStorage { public string type { get; set; } public string img
[XmlRoot("DataStorage")] // has no effect
public class DataStorage
{
public string type { get; set; }
public string imgUrl { get; set; }
public List<AbstractionObject> children { get; set; }
public DataStorage()
{
type = "default";
children = new List<AbstractionObject>();
}
}
有什么想法吗?我不知道这在您的示例中是否只是一个输入错误,但是您在第一个块中定义的类是“DataStorage”,您正在序列化和反序列化一个“DataObject”,这可以解释为什么它遇到“DataStorage”时会崩溃
<?xml version="1.0" encoding="utf-8"?>
<DataStorage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<type>default</type>
<children />
</DataStorage>
// create the xmlSerializer for DataObject
XmlSerializer xmlSerializer = new XmlSerializer(typeof(DataObject));
// Open the file again for reading.
StreamReader fileStream = new StreamReader(isoStore.OpenFile("IsoStoreFile.xml", FileMode.Open));
XmlReader xmlReader = XmlReader.Create(fileStream);
DataObject deserializedObject = (DataObject)xmlSerializer.Deserialize(xmlReader);
fileStream.Close();
Debug.WriteLine(deserializedObject);