我尝试设置首次向/从外部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
但是在执行程序时我一直收到以下错误:
抛出异常:&#39; System.InvalidOperationException&#39;在System.Xml.dll
中未处理的类型&#39; System.InvalidOperationException&#39;发生在System.Xml.dll
中其他信息:XML文档(0,0)中存在错误。
我的课程设置如下:
public class vglist
{
[XmlElement("gameName")] // XML tag
public string GameName // game field
{
get;
set;
}
etc...
有什么想法吗?我在各处搜寻类似的问题,但没有任何解决方案可以提供帮助。
答案 0 :(得分:1)
看起来如果该文件不存在,您创建一个新的空白XML文件。我怀疑你的错误是由于XML文件什么都没有。