回答
它使用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