【发布时间】:2013-03-26 11:11:15
【问题描述】:
我有一个类 XMLProfile,它具有将数据写入/编辑/删除数据到 xml 文件中的方法。此数据在 Visual C# 中被读取并显示在列表视图中
public void xmlwriter(string path)
{
XmlDocument xdoc = new XmlDocument();
xdoc.Load("C:\\product.txt);
XmlNode fold = xdoc.CreateElement("Folder");
XmlNode name = xdoc.CreateElement("Name");
XmlNode rec = xdoc.CreateElement("Recurse");
name.InnerText = path;
rec.InnerText = "true";
fold.AppendChild(name);
fold.AppendChild(rec);
xdoc.SelectSingleNode("//Folders").AppendChild(fold);
xdoc.Save("C:\\product.txt");
}
上面是write方法(向xml中添加新数据),下面是delete
public void delete(string snode)
{
XmlDocument xdoc = new XmlDocument();
xdoc.Load("C:\\product.txt");
foreach (XmlNode node in xdoc.SelectNodes("BackupProfile/Folders/Folder"))
{
string temp = node.SelectSingleNode("Name").InnerText;
if (temp == snode)
{
node.ParentNode.RemoveChild(node);
}
}
xdoc.Save("C:\\product.txt");
}
类似的编辑和重置方法。
从我的主程序表单中,我使用按钮单击调用这些方法
private void button8_Click(object sender, EventArgs e)
{
this.folderBrowserDialog1.ShowNewFolderButton = false;
this.folderBrowserDialog1.RootFolder = System.Environment.SpecialFolder.MyComputer;
DialogResult result = this.folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
// user selected folder will be added to the XML Profile for backup
string path = this.folderBrowserDialog1.SelectedPath;
XMLProfile xml = new XMLProfile();
xml.xmlwriter(path);
listView1.Items.Add(path);
}
}
上述方法用于添加新数据,从 XMLProfile 类调用 xmlwriter 方法。
一切正常,但现在我意识到在更改完成并保存之前只有一个应用按钮是正确的。
我该如何实现呢?我使用了这个链接StackOverflow,但它对我不起作用,实际上我不确定如何在我的项目中实现它。除了应用按钮,我还有一个取消按钮。 取消:很明显不应该保存更改,而只是重新加载 xml 文件以恢复到以前保存的版本。
感谢任何帮助,如果需要任何进一步的信息,请询问。谢谢。
【问题讨论】:
标签: c# winforms visual-studio-2010 logic