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(); } }
基本上除了调用为您完成所有艰苦工作的内置函数之外,您不需要任何其他操作。
它非常简单,只有三个主要步骤。
- 您需要使用
[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 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轻松找到有关序列化数据的许多教程。 不过,让我提醒一些问题:
-
序列化的类型:
一个。 XML序列化:请查看http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization
湾 二进制序列化:请参考http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file
-
当您使用文件工作(读取和写入数据)时,请注意安全方面。 这里有一个很好的教程http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx
我们使用Serialization以二进制格式和IN XML格式写入数据。 对于二进制格式,我们使用BibnaryFormatSerialization,对于XML格式,我们使用SoapFormatSerialization。