C# c语言中的条件Xml反序列化#

C# c语言中的条件Xml反序列化#,c#,xml-deserialization,C#,Xml Deserialization,我有一个类,我可以通过从SQLServer获取xml来反序列化它 public class personXML { public string lang{get;set;} public string name_en{get;set;} public string name_ar{get;set;} } 我还有个人课 public class person { public string name {get;set;} } 我希望如果lang=“en”那么person.name应该是pers

我有一个类,我可以通过从SQLServer获取xml来反序列化它

public class personXML
{
public string lang{get;set;}
public string name_en{get;set;}
public string name_ar{get;set;}
}
我还有个人课

public class person
{
public string name {get;set;}
}
我希望如果lang=“en”那么person.name应该是personXML.name\u en,如果lang=“ar”那么person.name应该是personXML.name\u ar。 我想通过序列化personXML并再次在person类中反序列化来实现
请帮助

如果没有自定义序列化,您将无法执行此操作:

但考虑到你的问题,我会建议一种不同的方法。您可以在代码中同时保留personXML和person DTO。 在数据访问层中,您只使用personXML。但你暴露了一个人

换句话说,您可以简化序列化,并添加一个抽象来管理personXML和person到专用存储库中的转换

希望有帮助。

谷歌是你的朋友,对吗?