Как изменить корневое имя 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. Я не уверен почему. Я получил это из учебника.
редактировать @ Марк
Благодарю. Теперь я вижу, что твои действия кажутся настолько странными, что ты должен обернуть их вокруг. У меня есть еще один вопрос, что произойдет, если я хочу сделать этот формат
так как вложенные элементы. Должен ли я создать новый класс для второй части и добавить его в класс-оболочку?