Вот пример добавления и удаления элементов с использованием LINQ to XML:
// load the XML file into an XElement
XElement xml = XElement.Load(filePath);
// add a new book
xml.Add(
new XElement("BOOK",
new XElement("TITLE", "book 3"),
new XElement("AUTHOR", "author 3"),
new XElement("PRICE", 0.1),
new XElement("YEAR", 2012)));
// remove a book that matches the desired title
xml.Elements("BOOK").Where(x => x.Element("TITLE").Value == "book 1").Remove();
// to edit an existing element:
xml.Elements("BOOK")
.Single(x => x.Element("TITLE").Value == "book 2") // take a single book
.Element("AUTHOR").Value = "new author"; // and change its author field
В основном, используйте все, что вы хотите, если вы знакомы с технологией.На мой взгляд, LINQ to SQL выглядит немного проще.