我有一个类:
public class Car {
public string Model {get;set;}
public string SeatFinish {get;set;}
public string Audio {get;set;}
}
我想使用XML序列化属性将其序列化为如下xml
<Car>
<Model>name</Model>
<Options>
<SeatFinish>Leather</SeatFinish>
<Audio>5 speaker</Audio>
</Options>
</Car>
由于项目的具体原因,我不能只创建一个属性:
public List<string> Options;
有没有一种方法可以通过属性指定要在某个 xml 元素(在本例中为“选项”节点)下序列化的属性?我可以编写允许这样做的自定义属性吗?任何建议表示赞赏。
编辑:
我看到有一个选项类可以工作,但是有没有办法在不创建其他类的情况下实现这一点?例如,我可能只想使用一个属性来执行此操作。
理想情况下我希望能够指定
[Parent("Options")]
public string SeatFinish {get;set;}
最佳答案
这是领域模型的一部分还是类似的?听起来您希望这些选项可以在汽车对象之外重复使用,那么为什么不创建一个单独的选项类呢?
public class Options
{
public string SeatFinish {get;set;}
public string Audio {get;set;}
}
并更改您的 Car
类以包含 Options
类:
public class Car
{
public string Model {get;set;}
public Options Options {get;set;}
}
关于c# - 简单的 C# Xml 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3625875/