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文档的序列化(System.InvalidOperationException)

看起来,如果文件不存在,您将创建一个新的空白XML文件。我怀疑您的错误是由于XML文件不包含任何内容。