ciao a tutti, devo creare un xml in un percorso da me predefinito; per fare questo, ho astratto il mio progetto attraverso delle classi e lo sto implementando attraverso l'uso di xmlserialize:

quello che mi chiedo è:
1)come posso cambiare il nome della root nell'xml??
2)come posso eliminare il nodo slshow ed includere tutto quello che c'è al suo interno dentro al Nodo Visitatori?

Grazie.

#main
codice:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;

//http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization

namespace TestXML
{
    class Program
    {
        static void Main(string[] args)
        {
            
            Visitatori xmlvisitatori = new Visitatori();
            Slshow slideshow = new Slshow();

            xmlvisitatori.nome = "Andrea";
            xmlvisitatori.cognome = "Bacco";
            xmlvisitatori.descrizione = "Prova";
            
            slideshow.path = "italia.jpg";
            slideshow.bevenuto="welcome";
            
            xmlvisitatori.slshow.Add(slideshow);

            Visitatori xmlvisitatori2 = new Visitatori();

            xmlvisitatori2.nome = "Andrea";
            xmlvisitatori2.cognome = "Mocca";
            xmlvisitatori2.descrizione = "Prova2";


            List<Visitatori> myVisitorlist = new List<Visitatori>(){xmlvisitatori,xmlvisitatori2};


            

            #region save object 

            // Create a new XmlSerializer instance with the type of the test class
            XmlSerializer SerializerObj = new XmlSerializer(typeof(List<Visitatori>));

            

            // Create a new file stream to write the serialized object to a file
            TextWriter WriteFileStream = new StreamWriter(@"C:\test.xml");
            
            SerializerObj.Serialize(WriteFileStream, myVisitorlist);

            // Cleanup
            WriteFileStream.Close();

            #endregion


        }
    }
}
#Classe_1
codice:
public class Visitatori 
    {
        [XmlElement("nomeXML")]
        public string nome { get; set; }
        [XmlElement("cogomeXML")]
        public string cognome { get; set; }
        [XmlElement("descrizioneXML")]
        public string descrizione { get; set; }
        [XmlElement("slshowXML")]
        public List<Slshow> slshow = new List<Slshow>();

    }
#Classe_2
codice:
public class Slshow
    {
        public string path { get; set; }
        public string bevenuto { get; set; }

    }
#OUTPUT
codice:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfVisitatori xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Visitatori>
    <slshowXML>
      <path>italia.jpg</path>
      <bevenuto>welcome</bevenuto>
    </slshowXML>
    <nomeXML>Andrea</nomeXML>
    <cogomeXML>Bacco</cogomeXML>
    <descrizioneXML>Prova</descrizioneXML>
  </Visitatori>
  <Visitatori>
    <nomeXML>Andrea</nomeXML>
    <cogomeXML>Mocca</cogomeXML>
    <descrizioneXML>Prova2</descrizioneXML>
  </Visitatori>
</ArrayOfVisitatori>