XML文档的序列化(System.InvalidOperationException)
本文关键字:System InvalidOperationException 序列化 文档 XML | 更新日期: 2023-09-27 18:07:56
我试图设置我的第一个导出/导入列表到/从外部XML文件。在开始时,我有以下代码:
private void Form1_Load(object sender, EventArgs e)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
if (!Directory.Exists("C:''Temp"))
Directory.CreateDirectory("C:''Temp");
if (!File.Exists("C:''Temp''mygames.xml"))
File.Create("C:''Temp''mygames.xml").Close();
//Call method to read data from XML to List<>
videogame = ReadFromXmlFile<List<vglist>>("C:''Temp''mygames.xml");
displayList();
} // END of method Form1_Load
使用如下ReadFromXmlFile方法:
public static T ReadFromXmlFile<T>(string filePath) where T : new()
{
TextReader reader = null;
try
{
var serializer = new XmlSerializer(typeof(T));
reader = new StreamReader(filePath);
return (T)serializer.Deserialize(reader);
} // end try
finally
{
if (reader != null)
reader.Close();
} // end finally
} // END ReadFromXmlFile<T> method
但是在执行程序时,我一直得到以下错误:
抛出异常:'System. 'InvalidOperationException' in System.Xml.dll
类型为"System"的未处理异常。InvalidOperationException'在System.Xml.dll中发生
附加信息:XML文档(0,0)中有错误。
我的班级设置如下:
public class vglist
{
[XmlElement("gameName")] // XML tag
public string GameName // game field
{
get;
set;
}
etc...
任何想法?我到处都找过类似的问题,但没有解决方案。
看起来,如果文件不存在,您将创建一个新的空白XML文件。我怀疑您的错误是由于XML文件不包含任何内容。