Как изменить корневое имя XML с помощью XML-сериализации?

Я пытаюсь изменить корневое имя при выполнении сериализации XML с C #.

Он всегда принимает имя класса, а не имя, которое я пытаюсь установить.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {


            MyTest test = new MyTest();
            test.Test = "gog";

            List testList = new List() 
            {    
                test 
            }; 

            SerializeToXML(testList);
        }

        static public void SerializeToXML(List list)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(List));
            TextWriter textWriter = new StreamWriter(@"C:\New folder\test.xml");
            serializer.Serialize(textWriter, list);
            textWriter.Close();
        }
    }


}





using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace ConsoleApplication1
{

    [XmlRootAttribute(ElementName = "WildAnimal", IsNullable = false)]
    public class MyTest
    {
        [XmlElement("Test")]
        public string Test { get; set; }


    }
}

Результат



  
    gog
  

Это не меняет его на WildAnimal. Я не уверен почему. Я получил это из учебника.

редактировать @ Марк

Благодарю. Теперь я вижу, что твои действия кажутся настолько странными, что ты должен обернуть их вокруг. У меня есть еще один вопрос, что произойдет, если я хочу сделать этот формат


   
        
   
   
        
   

так как вложенные элементы. Должен ли я создать новый класс для второй части и добавить его в класс-оболочку?

Ответы на вопрос(1)

Ваш ответ на вопрос