【问题标题】:C#: serialize and deserialize XML with different class nameC#:用不同的类名序列化和反序列化 XML
【发布时间】:2016-05-01 09:25:38
【问题描述】:

我从 sql server 获取 XML,并且能够使用适当的 Human 类对其进行反序列化。

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

在为 name 属性赋值后,我想用不同的根名称对其进行序列化,因为我想用新的类名再次反序列化它

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

请给出解决方案

【问题讨论】:

  • “请给出解决方案”?这不是 StackOverflow 的工作方式。请向我们展示您尝试了什么,以及为什么首先没有奏效。你得到什么错误,你期望什么结果,目前的实际结果是什么?如果我们知道您面临的问题,帮助会容易得多。
  • 您需要三个类:Human、Boy 和 name。您可以在 Boy 和 Human 中使用相同的名称类。

标签: c# xml serialization


【解决方案1】:

您可以更改根元素名称,在序列化程序中传递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);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-02-02
  • 2016-01-27
  • 2011-05-12
  • 2011-06-28
  • 2019-12-24
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
相关资源
最近更新 更多