C#自定义属性序列化

时间:2011-08-02 23:02:53

标签: c# dynamic xml-serialization

我正在使用XMLSerializer序列化类,但仅对于属性“MyDynamicObject”,我想覆盖并提供自定义实现。 怎么办呢?

[Serializable]
public class Movie
{
  public string Title
  { get; set; }

  public int Rating
  { get; set; }

  public dynamic MyDynamicObject
  { get; set; }
}


public void SerializeToXML(Movie movie)
{
  XmlSerializer serializer = new XmlSerializer(typeof(Movie));
  TextWriter textWriter = new StreamWriter(@"C:\movie.xml");
  serializer.Serialize(textWriter, movie);
  textWriter.Close();
}

3 个答案:

答案 0 :(得分:3)

您可以实施IXMLSerializable

  

为XML序列化和反序列化提供自定义格式。

答案 1 :(得分:1)

您需要查看Attributes That Control XML Serialization中的列表,并在“应用于”列中检查“属性”。

如果您对自己的要求更具体,我们可以为您提供更多帮助。

答案 2 :(得分:0)

查看MSDN上的[OnSerializing()]属性。底部有一些示例代码。