我为DateTime配置了自定义XmlSerializer -
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
GlobalConfiguration.Configuration.Formatters.XmlFormatter.Indent = true;
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SetSerializer<DateTime>(new myDateTimeSerializer());
自定义myDateTimeSeriazlier -
public class myDateTimeSerializer : System.Xml.Serialization.XmlSerializer
{
public myDateTimeSerializer()
: base()
{
}
public override bool CanDeserialize(System.Xml.XmlReader xmlReader)
{
return base.CanDeserialize(xmlReader);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader)
{
return base.Deserialize(reader);
}
protected override void Serialize(object o, System.Xml.Serialization.XmlSerializationWriter writer)
{
base.Serialize(o, writer);
}
}
如果我在调试模式中将所有上述方法中的断点放在一起,它就不会被击中。 我在这里错过了什么吗?
感谢。
答案 0 :(得分:1)
无法替换基本类型序列化。您必须使用其他属性作为字符串,格式为get中的字符串。您只能为自己的对象类型注册xmlserializer。