XmlSerializer 用法
时间: 2023-10-08 10:11:12 浏览: 87
XmlSerializer 是 .NET Framework 中的一个类,用于将对象序列化为 XML 格式,或将 XML 反序列化为对象。以下是 XmlSerializer 的用法示例:
1. 创建 XmlSerializer 对象
```csharp
XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
```
其中,typeof(MyClass) 表示要序列化/反序列化的对象类型。
2. 序列化对象
```csharp
MyClass obj = new MyClass();
// 设置 obj 的属性和字段值
using (TextWriter writer = new StreamWriter(filename))
{
serializer.Serialize(writer, obj);
}
```
序列化时,需要将 XmlSerializer 对象和要序列化的对象传入 Serialize 方法,同时传入一个 TextWriter 对象,用于将序列化后的 XML 写入到文件中。
3. 反序列化对象
```csharp
using (TextReader reader = new StreamReader(filename))
{
MyClass obj = (MyClass)serializer.Deserialize(reader);
}
```
反序列化时,需要将 XmlSerializer 对象和要反序列化的对象类型传入 Deserialize 方法,同时传入一个 TextReader 对象,用于从文件中读取要反序列化的 XML。
注意:要序列化/反序列化的对象必须具有 public 的无参构造函数。如果对象中包含非 public 的字段或属性,可以使用 XmlAttribute、XmlElement 等属性来标记它们。
阅读全文