【发布时间】:2016-01-28 13:36:22
【问题描述】:
我编写了以下通用代码将 XML 文件反序列化为列表:
public List<T> getList<T>(string fPath)
{
FileStream fs;
fs = new FileStream(fPath, FileMode.Open);
List<T> list;
XmlSerializer xmls = new XmlSerializer(typeof(List<T>));
list = (List<T>)xmls.Deserialize(fs);
fs.Close();
return list;
}
但我得到了反序列化操作的异常。
“System.Xml.dll 中出现
System.InvalidOperationException类型的异常,但未在用户代码中处理”
这是 XML 文件的示例:
<?xml version="1.0"?>
<ArrayOfAdmin xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Admin>
<MyUsername>User</MyUsername>
<MyPassword>Pass</MyPassword>
</Admin>
</ArrayOfAdmin>
什么原因导致异常?
【问题讨论】:
-
您能否更新您的帖子以包含一个您希望能够反序列化的小型 XML 文件?
-
一个 XML 文件只能有一个根标签,因此它不能是一个集合。您想反序列化标记“ArrayOfAdmin”而不是子标记 Admin 的根。
标签: c# xml list serialization