我有一个跟踪程序,可以在保存或自动保存期间保存隐藏的 XML 文件,以防用户意外关闭程序并需要重新加载它。它被导入到数据集和数据表中。
下面是 WriteXML 和 ReadXML 的代码:
写XML:
private void SaveloadFile()
{
string Timefor = Properties.Settings.Default.DateFormat;
System.Data.DataTable dt = (System.Data.DataTable)dataGridView1.DataSource;
string Filelocation = Properties.Settings.Default.SaveLocation.ToString() + "_" + System.DateTime.Today.ToString(Timefor) + ".xml";
try
{
dt.WriteXml(Filelocation, XmlWriteMode.WriteSchema);
FileInfo xm = new FileInfo(Filelocation);
xm.Attributes = FileAttributes.Hidden;
}
catch(System.Exception err)
{
MessageBox.Show("Ah poop, Something went wrong\n" + err, "Oh poop", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
读取XML:
public void ReadXML(string Filepath)
{
try
{
dt.ReadXml(Filepath);
ds.Tables.Add(dt);
dataGridView1.DataSource = ds.Tables[0];
}
catch (System.Exception err)
{
MessageBox.Show("Ah poop, Something went wrong\n" + err, "Oh poop", MessageBoxButtons.OK, MessageBoxIcon.Information);
CreateDataBase();
}
}
它似乎有效。尽管在打开应用程序并尝试保存当前工作后,我明白了。
这只发生在我加载程序并尝试保存时。
我查看了代码,我想我把它归结为 readxml 阅读后不放手。尽管我怀疑 writexml 无法正常工作。
我环顾四周,似乎找不到解决此错误的方法。
如果有人能告诉我代码有什么问题,那就太好了!