C#中的XML序列化

我在哪里可以找到关于对象的XMl序列化的好教程? 谢谢。

有一个关于微软支持页面的基本教程,他们的代码示例只有几行:

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(); } } 

基本上除了调用为您完成所有艰苦工作的内置函数之外,您不需要任何其他操作。

它非常简单,只有三个主要步骤。

  1. 您需要使用[Serializable]属性标记您的类。
  2. 写序列化代码
  3. 编写反序列化代码

连载:

 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 Framework中的XML序列化

如何使用Visual C#将对象序列化为XML

MSDN有一篇不错的文章: http : //msdn.microsoft.com/en-us/library/ms733901.aspx

这一点更直接: http : //www.dotnetjohn.com/articles.aspx? articleid = 173

这是一个很好的开始微软

同时查看Xml Schema并使用xsd.exe自动生成类,越早习惯这一点越好,它可以为您节省大量使用XML的工作量。 另外,查看生成的c#文件,可以为您提供一些线索,了解如何使用属性来操作XmlSerializer为类提供服务的方式

您可以在Web上使用.Net轻松找到有关序列化数据的许多教程。 不过,让我提醒一些问题:

  1. 序列化的类型:

    一个。 XML序列化:请查看http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization

    湾 二进制序列化:请参考http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file

  2. 当您使用文件工作(读取和写入数据)时,请注意安全方面。 这里有一个很好的教程http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx

我们使用Serialization以二进制格式和IN XML格式写入数据。 对于二进制格式,我们使用BibnaryFormatSerialization,对于XML格式,我们使用SoapFormatSerialization。