我有一個列表視圖充滿聯繫人和存儲聯繫人的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