簡體   English   中英

C#中的條件XML反序列化

[英]Conditional Xml deserialization in c#

我有一個可以通過從Sql Server獲取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 =“ zh-cn”,那么person.name應該是personXML.name_en,如果lang =“ ar”,那么person.name應該是personXML.name_ar。 我想通過序列化personXML並再次在人類中反序列化來做到這一點,請幫助

您將無法通過自定義序列化來做到這一點: https ://msdn.microsoft.com/en-us/library/ty01x675( v= vs.110).aspx

但是給您的問題,我建議使用另一種方法。 您可以在代碼中同時保留personXML和person DTO。 在數據訪問層中,您僅使用personXML。 但是您暴露了存儲庫返回者。

換句話說,您可以輕松地進行序列化,並添加抽象來管理personXML和person之間的轉換到專用存儲庫中。

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM