background image

PHP 基础:使用 XMLSerialize 序列化与反序列化

本文主要介绍了使用 XMLSerialize 序列化与反序列化,供大家参考下
概念:XML 序列化是将公共字段和属性转化为序列格式(这里指 XML),以便存储或
传输的过程。反序列化则是从 XML 中重新创建原始状态的对象.

 

复制代码 代码如下:
 

class

 SerializeDemo

{

static

 void Main()

{
EmployeeCollection employeeCollection = 

new

 EmployeeCollection()

{
Employees = Employeer.Employees()
};
XmlSerializer serialize = 

new

 XmlSerializer(typeof(EmployeeCollection));

string filePath = @"E:\PProject\Test\Employee.xml";
SerializeEmployee(serialize, filePath, employeeCollection);
DeserializeEmployee(serialize, filePath);
}

static

 void SerializeEmployee(XmlSerializer serialize, string filePath, EmployeeCollection 

employeeCollection)
{
using (FileStream fs = 

new

 FileStream(filePath, FileMode.Create, FileAccess.Write))

{
serialize.Serialize(fs, employeeCollection);
}
}

static

 void DeserializeEmployee(XmlSerializer serialize,string filePath)

{
using (FileStream fs = 

new

 FileStream(filePath, FileMode.Open, FileAccess.Read))

{
EmployeeCollection collection = (EmployeeCollection)serialize.Deserialize(fs);
collection.Employees.ForEach(e => Console.WriteLine("Name:{0},Gender:{1},Age:
{2},Education:{3}", e.userName, e.gender, e.age, e.education));
}
}
}
[Serializable]