Xml 文件序列化 反序列化
时间: 2024-03-14 17:41:31 浏览: 162
XML文件序列化和反序列化是将对象数据转换为XML格式的字符串,以及将XML格式的字符串还原为对象数据的过程。
在C#中,可以使用XmlSerializer类来实现XML文件的序列化和反序列化。以下是实现方式:
1. XML文件序列化:
- 创建一个XmlSerializer对象,指定要序列化的对象类型。
- 创建一个TextWriter对象,用于将序列化后的XML数据写入文件或流。
- 调用XmlSerializer对象的Serialize方法,将对象序列化为XML格式的字符串,并写入到TextWriter中。
- 关闭TextWriter对象。
2. XML文件反序列化:
- 创建一个XmlSerializer对象,指定要反序列化的对象类型。
- 创建一个TextReader对象,用于从文件或流中读取XML数据。
- 调用XmlSerializer对象的Deserialize方法,将XML格式的字符串还原为对象数据。
- 关闭TextReader对象。
以下是示例代码:
```csharp
// XML文件序列化
public void SerializeObject<T>(T obj, string filePath)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (TextWriter writer = new StreamWriter(filePath))
{
serializer.Serialize(writer, obj);
}
}
// XML文件反序列化
public T DeserializeObject<T>(string filePath)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (TextReader reader = new StreamReader(filePath))
{
return (T)serializer.Deserialize(reader);
}
}
```
阅读全文