简体   繁体   English

属性相同,但类名不同-XML序列化

[英]Same properties but different class name - XML Serialization

Is it possible to have common class to consume this XML? 可以使用通用类来使用此XML吗? Both are API response from different routes 两者都是来自不同路径的API响应

<Employee>
 <FirstName>...</FirstName>
 <LastName>...</LastName>
 <Age>...</Age>
 <DOB>...</DOB>
</Employee>

<Customer>
 <FirstName>...</FirstName>
 <LastName>...</LastName>
 <Age>...</Age>
 <DOB>...</DOB>
</Customer>

I am looking for something like 我正在寻找类似的东西

[XMLAlias="Employee","Customer"]
public class User
{
 public string FirstName { get; set; }
 public string LastName{ get; set; }
 public int Age{ get; set; }
 public DateTime DOB{ get; set; }
}

Or atleast 或至少

[XMLAlias="Employee"]
public class Customer
{
 public string FirstName { get; set; }
 public string LastName{ get; set; }
 public int Age{ get; set; }
 public DateTime DOB{ get; set; }
}

I suggest to have separate Employee and Customer classes, derived from base User class with common properties. 我建议有单独的Employee和Customer类,它们是从具有通用属性的基本User类派生的。

In future you can meet a situation, when one of the xml/class will have additional specific fields. 将来您会遇到一种情况,即xml / class之一将具有其他特定字段。 So: 所以:

public class User
{
 public string FirstName { get; set; }
 public string LastName{ get; set; }
 public int Age{ get; set; }
 public DateTime DOB{ get; set; }
}

public class Employee : User
{
}

public class Customer : User
{
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM