C#:使用不同的类名序序化和反序列化XML

时间:2016-05-01 09:25:39

标签: c# xml serialization

我从sql server获取XML,我可以用适当的Human类反序列化它。

public class Human
{
public string name {get;set;}
}

在为name属性赋值之后我想用不同的根名称序列化它,因为我想用新的类名重新反序列化它

public class Boy
{ 
public string name {get;set;}
}

请提供解决方案

1 个答案:

答案 0 :(得分:2)

您可以更改根元素名称,将XmlRootAttribute参数传递给序列化程序。

var human = new Human { name = "Smit" };

var xs = new XmlSerializer(typeof(Human), new XmlRootAttribute("Boy"));

using (var fs = new FileStream("test.xml", FileMode.Create))
    xs.Serialize(fs, human);