我想知道在哪里可以找到关于将XML序列化为对象的好教程?谢谢。
这很简单,只有三个主要步骤。
[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();
在Microsoft支持页面上有一个基本的教程,他们的代码示例只有几行:
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();
}
}
这是一个不错的开始 microsoft
同时,建议您了解 Xml Schema,并使用 xsd.exe 自动生成类。尽早熟悉此工具可以帮助您在处理 XML 时节省大量时间和精力。另外,查看生成的 C# 文件可以为您提供一些关于如何使用属性来操作 XmlSerializer 序列化类的线索。
在网上可以轻松找到许多关于使用 .Net 进行序列化数据的教程。但是,让我提醒一些要点:
序列化的类型:
a. 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
序列化
将数据以二进制格式和XML格式进行写入。
对于二进制格式,我们使用BibnaryFormatSerialization
,而对于XML格式,我们使用SoapFormatSerialization
。
[Serializable]
在XML序列化中是多余的。 - M C