Я пытаюсь изменить корневое имя при сериализации на XDocument.
Я пытаюсь сериализовать (n внутренний) класс и получить корневое имя Test.MyClass
.
Я пытаюсь изменить его с атрибутом XmlRoot
, но ничего не происходит. Какой трюк для изменения корневого имени? или я использую XDocument для чего-то, что он не может сделать?
[TestClass]
public class MyTestClass
{
[TestMethod]
public void TestMethod()
{
var res = Serialise(new MyClass());
}
private static XDocument Serialise(object objectToSerialize)
{
var doc = new XDocument();
using (var writer = doc.CreateWriter())
{
var serializer = new DataContractSerializer(objectToSerialize.GetType());
serializer.WriteObject(writer, objectToSerialize);
}
return doc;
}
[XmlRoot("NewName")]
public class MyClass { }
}
Я получаю
<MyTestClass.MyClass/>
но я хочу
<NewName/>