【发布时间】:2015-06-07 20:51:51
【问题描述】:
我收到以下代码的错误,它在尝试反序列化代码时找不到根元素:
System.Xml.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理
附加信息: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 位置设置为零。或使用新的内存流
-
“我遇到错误”...什么错误?请具体。
-
"System.Xml.dll 中发生了 'System.InvalidOperationException' 类型的异常,但未在用户代码中处理附加信息:XML 文档 (0, 0) 中存在错误。"
-
详细信息:{“XML 文档 (0, 0) 中有错误。”} 内部异常:{“缺少根元素。”}
-
好。现在编辑您的问题并将该信息添加到其中。
标签: c# xml serialization