在以下代码中,我遇到了一个错误,当代码尝试反序列化时找不到根元素:
'System.Xml.dll' 中发生了类型为 'System.InvalidOperationException' 的异常,但未在用户代码中处理
额外信息:XML 文档中有一个错误(0,0)。
内部异常:{"Root element is missing."}
代码看起来很简单,但在谷歌和搜索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 对象,并且有一个不同的正确答案。