回答
它使用WCF默认为例子。请参阅here进行比较。
个人而言,我讨厌XmlSerializer
不能做内部类型。 DataContractSerializer没有这个问题。另外,例如,对于泛型,DataContractSerializer
更容易。如果您想制作人性化的可编辑XML格式,可能不太理想。
由于Maxim指出,DataContractSerializer
行为有点不同于你所期望的:它不会调用任何构造函数来反序列化你的对象。如果您出于某种原因需要进行初始化,则可以使用[OnDeserializing]
属性。我用一个模式是这样的:
[DataContract]
public MyClass
{
public MyClass()
{
Initialize();
}
[OnDeserializing]
private OnDeserializing(StreamingContext context)
{
Initialize();
}
private void Initialize()
{
// Do stuff
}
}
同样,还有一个[OnDeserialized]
属性,并进行序列化的版本。
请注意,不用DataContractSerializer调用构造函数 – 2009-08-24 19:12:09
好点。它在我意识到这一点之前就困惑了我的地狱:) – Thorarin 2009-08-24 19:23:31
- 1. .NET XML序列化
- 2. 使用.NET序列化XML序列化到.NET类
- 3. 将.NET EventLogEntry实例序列化为XML
- 4. .NET XML序列化和空集合
- 5. 。基于XSD的.NET XML序列化?
- 6. 在.net中的XML序列化
- 7. .NET XML序列化助手类
- 8. .NET XML序列化的可选属性
- 9. .NET父/子XML反序列化帮助
- 10. .NET Framework 4.5中的XML(反 - )序列化
- 11. .NET中的XML序列化选项
- 12. .NET for Oracle的XML序列化.insertxml
- 13. .NET开发的XML反序列化
- 14. Rails兼容.NET xml序列化
- 15. .NET自定义Xml序列化
- 16. 反序列化XML
- 17. XML序列化
- 18. XML序列化
- 19. XML序列化
- 20. XML序列化
- 21. XML序列化
- 22. XML序列化
- 23. XML序列化
- 24. XML序列化
- 25. 反序列化XML序列项目C#.NET
- 26. 在C#中的通用列表的xml序列化和反序列化.net
- 27. Java序列化与.NET序列化
- 28. 书.Net序列化?
- 29. Protobuf-net序列化
- 30. .NET中的速度和XML解析 - 序列化vs XML DOM vs?
我讨厌问这个,但是XmlSerializer有什么问题? – 2009-08-24 19:06:13
@sztomi:无法使用IEnumerable真的很烦我。 –
2009-08-24 19:11:47