Как удалить определенные элементы из listbox, и из xml файла

У меня есть listbox. В нем есть элементы, которые записаны в xml файл (история в браузере). Как сделать чтобы при удалении элементов они удалялись и в listbox и в xml файле.

            int hu = 0;
            StorageFolder f = ApplicationData.Current.LocalFolder;
            StorageFile f1 = await f.CreateFileAsync("History.xml", CreationCollisionOption.OpenIfExists);
            List<History> u;
            XmlSerializer x = new XmlSerializer(typeof(List<History>));
            Stream s = await f1.OpenStreamForReadAsync();
            try
            {
                u = (List<History>)x.Deserialize(s);
            }
            catch
            {
                u = new List<History>();
            }
            historyList.Items.Remove(historyList.SelectedItems);
            while (hu < historyList.SelectedItems.Count)
            {
                foreach (History d in u)
                {
                    if ($"{d.Date}  -  {d.Url} ({d.Name})" == historyList.SelectedItems[hu].ToString())
                    {
                        u.Remove(d);
                    }
                }
            }
            s.Close();
            await f1.DeleteAsync();
            StorageFile f2 = await f.CreateFileAsync("History.xml", CreationCollisionOption.OpenIfExists);
            Stream s2 = await f2.OpenStreamForWriteAsync();
            x.Serialize(s2, u);
            s2.Close();

Ответы (0 шт):