如果要序列化的是一个对象的数组,XmlSerializer的构造方法中的类型信息如何填写?
时间: 2024-02-06 21:13:05 浏览: 30
如果要序列化的是一个对象的数组,XmlSerializer的构造方法中的类型信息应该填写对象的数组类型,即 typeof(对象类型[])。例如,如果要序列化一个名为 Person 的对象数组,可以像下面这样创建 XmlSerializer 对象:
```csharp
XmlSerializer serializer = new XmlSerializer(typeof(Person[]));
```
然后,可以使用 Serialize 方法将对象数组序列化到指定的文件或流中,示例代码如下:
```csharp
using System;
using System.IO;
using System.Xml.Serialization;
[Serializable]
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
// 创建要序列化的对象数组
Person[] persons = new Person[]
{
new Person { Name = "Tom", Age = 18 },
new Person { Name = "Jerry", Age = 20 }
};
// 创建 XmlSerializer 对象
XmlSerializer serializer = new XmlSerializer(typeof(Person[]));
// 创建 StreamWriter 对象
StreamWriter writer = new StreamWriter("persons.xml");
// 序列化对象数组
serializer.Serialize(writer, persons);
// 关闭 StreamWriter 对象
writer.Close();
}
}
```
在上面的示例中,我们创建了一个名为 Person 的对象数组,并将其序列化到名为 persons.xml 的文件中。要反序列化一个对象数组,我们可以使用 XmlSerializer 对象的 Deserialize 方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)