I learning Xml data handling in .NET. I have the following XML format.
<BOOKS>
<BOOK>
<TITLE>book 1</TITLE>
<AUTHOR>author 1</AUTHOR>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</BOOK>
<BOOK>
<TITLE>book 2</TITLE>
<AUTHOR>author 2</AUTHOR>
<PRICE>20.90</PRICE>
<YEAR>1995</YEAR>
</BOOK>
</BOOKS>
I need to learn to add/edit/delete new books to the XML file. Could you please guide me on what all classes to explore for these functionality. I find lot of classes like XmlDocument
XmlTextWriter
etc. Some sites suggest to use LINQ as well. I am confused as to which was to go. Is there any good material I can refer to understand this.
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 you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With