我有一个列表视图充满联系人和存储联系人的XML文件。主重置 - 清除列表视图和XML文件中的数据
我想创建一个按钮,它将作为一种主复位按钮。基本上,当按下按钮时,程序(数据)应该重置并且像第一次打开时一样 - 没有联系人应该在那里。所以,应该清除列表视图,并且应该从XML文件中删除数据。
这是我的XML文件(Contacts.xml)的样子:
<People>
<Person>
<Name>John</Name>
<Hometown>Washington</Hometown>
<Address>231 Main Street</Address>
<Birthday>130299511993682082</Birthday>
<Phone>555-555-555</Phone>
<Email>[email protected]</Email>
<AdditionalInfo>Skype: john.123</AdditionalInfo>
</Person>
</People>
...这里是ListView控件(ListView1的):
我知道如何清除列表视图,但我不知道如何“重置”XML文件。
任何想法?
@EDIT:
以下是我已经试过了,根据您的建议:
void MasterReset()
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string phonebook_path = path + "\\Phonebook\\Contacts.xml";
XmlDocument xDoc = new XmlDocument();
xDoc.Load(phonebook_path);
XmlNode xNode = xDoc.SelectSingleNode("People");
xNode.InnerXml = "";
xDoc.Save(phonebook_path);
listView1.Clear();
}
但它不工作,当我再次加载应用程序 - 触点仍然存在。
为什么你不只是保持1个主文件,它不包含“数据'(只有原始的XML)。然后,加载它(XDocument.Load)并将其保存在内存中并将其保存到一个新文件中,从而保持原始文件不变。 – Dave
我真的很难明白你的意思,但没有成功。如果我想要重置设置,为什么我会保留原始文件?这样,我会有多个XML文件。每当用户按下主复位按钮时,它会创建一个新的XML文件?那是你在说什么? –
有一个变量存储你的初始负载并将其保存到一个文件或保存在内存中 – liquidsnake786