[英].NET Custom Xml Serialization
我正在研究一些需要序列化/反序列化为xml的类,这些类可用于配置。 这是我正在尝试做的一个示例
[Serializable]
public class MyConfig
{
[XmlElement]
public string ConfigOption { get; set; }
[XmlElement]
public Uri SomeUri { get; set; }
}
我想重写Uri属性被序列化的方式。 所以当调用serialize方法时,我希望它看起来像这样
<MyConfig>
<ConfigOption></ConfigOption>
<SomeUri uri="" />
</MyConfig>
有没有办法插入.net序列化并覆盖所有Uri对象如何序列化和反序列化? 请注意,我不想创建一个名为MyUri的类并将其用作SomeUri的类型,我只想插入序列化Uri类型的序列化并覆盖该行为的地方。
public class MyConfig
{
[XmlElement]
public string ConfigOption { get; set; }
[XmlElement]
public MyUri SomeUri { get; set; }
}
public class MyUri
{
[XmlAttribute(Name="uri")]
public Uri SomeUri { get; set; }
}
因为您不想为Uri
创建新的包装器类,所以我认为唯一的选择是MyConfig
实现IXmlSerializable
,以便完全控制XML序列化过程。
但是,如果执行此操作,则将采用全有或全无的方法,因为您将需要完全实现序列化,而不仅是Uri
属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.