有条件的Xml反序列化

问题描述:

我有一类,我能够通过从SQL Server中获取XML有条件的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_en,如果lang =”ar“,那么person.name应该是personXML.name_ar。 我想连载personXML做出来,在人类再次反序列化 请帮助

你将不能够做到这一点wihtout自定义序列:https://msdn.microsoft.com/en-us/library/ty01x675(v=vs.110).aspx

但给你的问题,我会建议不同的方法。你可以在你的代码中保留personXML和person DTO。 在您的数据访问层中,您只能使用personXML。但是你公开知识库返回人员。

换句话说,您可以轻松实现序列化,并且可以添加一个抽象来管理personXML和person之间的转换到专用存储库。

希望它有帮助。

+0

请分享一个测试代码,这会很有帮助 –

+0

Google是你的朋友吧? https://msdn.microsoft.com/en-us/library/ff649690.aspx http://blog.gauffin.org/2013/01/11/repository-pattern-done-right/ – Ouarzy