對,我有一個簡單的應用程序,它包含一個日曆,一個Set Event按鈕和一個使用WPF中的DataTemplate填充的列表框。當我構建應用時,Events.xml文件是這樣的:如何在更新之前保存XML文件?
<?xml version="1.0" encoding="utf-8" ?>
<events>
</events>
我通過代碼向xml添加事件。 xml文件的最終結構如下
<?xml version="1.0" encoding="utf-8" ?>
<events>
<event Name="Some Name">
<startDate>20.03.2010</startDate>
<endDate>29.03.2010</endDate>
</event>
</event>
現在,這是我的問題。如果我更新應用程序並使用Click Once進行部署,並且應用程序自我更新,則由於新文件爲空,我將丟失列表。任何解決方法呢?
下面是如何添加數據:
var xDocument = XDocument.Load(@"Data\Events.xml");
xDocument.Root.Add(new XElement("event", new XAttribute("name", event.Name),
new XElement("startDate", startDate),
new XElement("endDate", endDate)
)
);
xDocument.Save(@"Data\Events.xml");
如果我通過代碼手動創建文件,然後更新應用程序,我仍然失去它,因爲更新不會更新.exe文件。相反,它會創建一個新文件夾並將新的更新文件放在那裏。 –
在這種情況下,我建議將這個Events.xml文件保存到 Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); –
我會試試看。謝謝你的提示。 –