Anexando un archivo XML existente con XmlWriter

He usado el siguiente código para crear un archivo XML:

XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
xmlWriterSettings.Indent = true;
xmlWriterSettings.NewLineOnAttributes = true;
using (XmlWriter xmlWriter = XmlWriter.Create("Test.xml", xmlWriterSettings))
{
   xmlWriter.WriteStartDocument();
   xmlWriter.WriteStartElement("School");
   xmlWriter.WriteEndElement();
   xmlWriter.WriteEndDocument();
   xmlWriter.Close();
 }

Necesito insertar nodos dinámicamente creando la siguiente estructura:

<?xml version="1.0" encoding="utf-8"?>
<School />
   <Student>
      <FirstName>David</FirstName>
      <LastName>Smith</LastName>
   </Student>
   ...
   <Teacher>
      <FirstName>David</FirstName>
      <LastName>Smith</LastName>
   </Teacher>
   ...
</School>

¿Cómo puedo hacerlo? Los valores de "Nombre" y "Apellido" deben leerse desde el teclado y los valores pueden ingresarse en cualquier momento, por supuesto, bajo existente.

Respuestas a la pregunta(5)

Su respuesta a la pregunta