在哪裏可以找到關於對象的XMl序列化的好教程? 謝謝。C#中的XML序列化
回答
serilized的方式有上Microsoft's support pages一個基本的教程和他們的代碼示例是隻有幾行一些線索:
using System;
public class clsPerson
{
public string FirstName;
public string MI;
public string LastName;
}
class class1
{
static void Main(string[] args)
{
clsPerson p=new clsPerson();
p.FirstName = "Jeff";
p.MI = "A";
p.LastName = "Price";
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
x.Serialize(Console.Out, p);
Console.WriteLine();
Console.ReadLine();
}
}
基本上,除了調用爲您完成所有辛苦工作的內置函數之外,您不需要任何其他任何東西。
MSDN有關於它的一個體面的文章:http://msdn.microsoft.com/en-us/library/ms733901.aspx
而這一次有點更直截了當:http://www.dotnetjohn.com/articles.aspx?articleid=173
這裏有一個良好的開端microsoft
還應考慮XML Schema和與xsd.exe自動生成類越早熟悉這一點越好,這可以爲您節省使用XML的大量工作。也期待在生成的C#文件提供了關於如何使用屬性來操縱類由XmlSerializer
它真的很簡單,只有三個主要步驟。
- 您需要用
[Serializable]
屬性標記您的類。 - 寫序列化代碼
- 寫反序列碼
連載:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.OpenOrCreate);
x.Serialize(fs, yourInstance);
fs.Close();
反序列化:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.Open);
var fromFile = x.Deserialize(fs) as YourClass;
fs.Close();
您可以輕鬆地找到有關的使用.net序列數據很多教程網頁。然而,讓我提醒幾點:系列化的
類型:
一個。 XML序列化:請看看http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization
b。二進制序列化:請參考http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file
另請注意當您使用文件工作(讀寫數據)時的安全問題。這裏有一個很好的教程http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx
我們使用序列化以二進制格式和IN XML格式寫入數據。用於二進制格式的 我們使用BibnaryFormatSerialization,而對於XML格式,我們使用SoapFormatSerialization。
- 1. C#中的Xml序列化#
- 2. 的XML C#XML序列化
- 3. 在C#中序列化XML#
- 4. 在C#中序列化XML#
- 5. C#XML序列化
- 6. C#XML序列化
- 7. C#+ XML序列化
- 8. Xml序列化c#
- 9. C#XML序列化
- 10. C#XML序列化
- 11. C#XML序列化
- 12. C#XML序列化/反序列化
- 13. C#Xml序列化和反序列化
- 14. C#XML序列化/反序列化
- 15. XML序列化陣列C#
- 16. C#陣列XML序列化
- 17. Silverlight的C#XML序列化
- 18. 如何在c中反序列化/序列化Microlife的xml#
- 19. C++中的XML序列化/反序列化
- 20. C++中的XML序列化/反序列化
- 21. C#中的XML反序列化#
- 22. C++中的xml反序列化
- 23. 在UWP中的C#XML序列化
- 24. C#中的反序列化XML#
- 25. C#XML序列化屬性
- 26. C#XML序列化錯誤
- 27. C#反序列化XML
- 28. C#XML序列化XmlAttribute
- 29. C#XML反序列化
- 30. C#XML序列化問題
對於XML序列化,[Serializable]屬性不是必需的。二進制序列化需要[Serializable]屬性。 – Xenan 2011-08-30 08:44:31
@Xenan +1提到'[Serializable]對於XML序列化來說是多餘的 – 2014-11-05 08:47:43