I learning Xml data handling in .NET. I have the following XML format.
book 1
<
Here's an example of adding and removing elements using 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
Basically, use whatever you want, as long as you're comfortable with the technology. LINQ to SQL seems a bit easier, in my opinion.
If the file is reasonable small - i.e. not several MB in size - you should use either XmlDocument (the classic way) or XDocument (the new LINQ classes for XML processing). You will find lots of examples for both.
The following search results might give a hint as to when you should use which of those classes: http://www.google.com/search?hl=en&q=XmlDocument%20vs.%20XDocument. Personally, I would suggest using XDocument
, because its API is easier to use.