0
我需要刪除從我的XML文件中的所有項目,其中節點Finished != ""
但我的代碼只刪除第一個項目,其中該條件爲真WP7 - 刪除多個項目的LINQ to XML
我的代碼:
try
{
var file = IsolatedStorageFile.GetUserStoreForApplication();
XElement xElem;
using (IsolatedStorageFileStream read = file.OpenFile("tasks.xml", FileMode.Open))
{
xElem = XElement.Load(read);
}
var tasks = from task in xElem.Elements("Task")
where (string)task.Element("Finished") != ""
select task;
using (IsolatedStorageFileStream write = file.CreateFile("tasks.xml"))
{
foreach (XElement task in tasks)
{
task.Remove();
}
xElem.Save(write);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
NavigationService.GoBack();
}
但如果我用MessageBox
替換task.Remove();
,它會多次顯示消息框,因爲它是正確的。
我的代碼有什麼問題?