Чтобы добавить узлы, найдите родительский элемент, к которому вы хотите добавить, создайте элемент, который вы хотите добавить, затем добавьте его.
Чтобы удалить узлы, найдите узлы, которые вы хотите удалить, затем удалите их.
// load the xml
var doc = XDocument.Load(@"C:\path\to\file.xml");
// add a new location to "Alaska"
var parent = doc.Descendants("state")
.Where(e => (string)e.Attribute("name") == "Alaska")
.SingleOrDefault();
if (parent != null)
{
// create a new location node
var location =
new XElement("Location",
new XAttribute("Name", "loc5"),
new XElement("Address", "e1"),
new XElement("DateNTime", "e2")
);
// add it
parent.Add(location);
}
// remove a location from "Wyoming"
var wyoming = doc.Descendants("state")
.Where(e => (string)e.Attribute("name") == "Wyoming")
.SingleOrDefault();
if (wyoming != null)
{
// remove "loc4"
wyoming.Elements(e => (string)e.Attribute("Name") == "loc4")
.Remove();
}
// save back to the file
doc.Save(pathToFile);