當它試圖反序列化的代碼我得到與下面的代碼,它無法找到根元素的錯誤反序列化:的Xml序列化和內存流
型「系統的異常。 InvalidOperationException'發生在System.Xml.dll中,但未在用戶代碼中處理
其他信息:XML文檔(0,0)中存在錯誤。
內部異常:{「缺少根元素。」}
這看起來非常簡單足夠的代碼,但谷歌搜索,並在這個問題上的SO搜索並沒有取得任何明確的答案 - 只有類似的問題是仍然是答案沒有幫助......或者我誤解了一些東西。
[TestMethod]
public void TestSerialize()
{
XmlSerializer serializer = new XmlSerializer(testObject.GetType());
MemoryStream memStream = new MemoryStream();
serializer.Serialize(memStream, testObject);
XmlSerializer xmlSerializer = new XmlSerializer(testObject.GetType());
TestObject testObj = ((TestObject)xmlSerializer.Deserialize(memStream));
assert(testObject == testObj);
}
public class TestObject
{
public int IntProp { get; set; }
public string StringProp { get; set; }
}
涉嫌重複的問題在Root element is missing使用的XMLDocument對象,並有不同的正確答案。
嘗試在序列化後將memorystreem位置設置爲零。或使用新的內存流 – BjarkeCK
*「我收到一個錯誤」* ... **什麼**錯誤?請具體說明。 –
「在System.Xml.dll中發生類型'System.InvalidOperationException'的異常,但未在用戶代碼中處理 其他信息:XML文檔(0,0)中存在錯誤。」 –