OK! That was a lot

!
I havn't worked with datagrids at all so I cannot answer that, however perhaps I should try it, so that I can get some experience with this.
About the insertion of the new composite construction in the XML file I can help... I have worked with the previous example, and it turned out like this...
Code:
public void Page_Load(Object oSender, EventArgs e)
{
String filename = Server.MapPath("books.xml");
XmlDocument doc = new XmlDocument();
XmlElement[] elements = new XmlElement[3];
try
{
doc.Load(filename);
elements[0] = doc.CreateElement("NewElement");
elements[1] = doc.CreateElement("ABC");
elements[1].AppendChild(doc.CreateTextNode("XXX"));
elements[2] = doc.CreateElement("XYZ");
elements[2].AppendChild(doc.CreateTextNode("AAA"));
elements[0].AppendChild(elements[1]);
elements[0].AppendChild(elements[2]);
(doc.DocumentElement).AppendChild(elements[0]);
doc.Save(filename);
}
catch(Exception exeption)
{
}
}
I have tried it, and it should work. I will let you know it I get to try the datagrid.
Hope it will help
Jacob.