C#实现导出List数据到xml文件的方法
XML是广泛使用的数据格式,对于C#程序员来说,将C#中的List数据导出到XML文件是一个常见需求。本文将详细介绍如何使用C#实现导出List数据到XML文件的方法,并且提供示例代码。
实现步骤
- 定义List数据
在C#中,我们需要定义一个List对象,以便将数据存储到其中,例如:
List<Person> persons = new List<Person>();
- 为数据定义XML序列化方式
在数据类上添加 [Serializable]
属性,表示这个数据对象可以被序列化为XML文件。并且还需要在数据类上定义一个 [XmlRoot]
属性,表示根节点的名称,例如:
[Serializable]
[XmlRoot("Persons")]
public class Person
{
[XmlElement("Name")]
public string Name { get; set; }
[XmlElement("Age")]
public int Age { get; set; }
}
- 序列化List数据
通过序列化工具 XmlSerializer
将List对象序列化成XML文件,例如:
XmlSerializer serializer = new XmlSerializer(typeof(List<Person>));
using (StreamWriter sw = new StreamWriter("persons.xml"))
{
serializer.Serialize(sw, persons);
}
示例说明
示例一
假设我们需要导出一个包含若干个Person对象的List数据,Person类包含Name和Age两个属性,我们可以这样来实现:
[Serializable]
[XmlRoot("Persons")]
public class Person
{
[XmlElement("Name")]
public string Name { get; set; }
[XmlElement("Age")]
public int Age { get; set; }
}
static void Main(string[] args)
{
List<Person> persons = new List<Person>();
persons.Add(new Person { Name = "Tom", Age = 18 });
persons.Add(new Person { Name = "Jerry", Age = 20 });
XmlSerializer serializer = new XmlSerializer(typeof(List<Person>));
using (StreamWriter sw = new StreamWriter("persons.xml"))
{
serializer.Serialize(sw, persons);
}
}
运行程序后可以在当前目录下看到生成的 persons.xml
文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<Persons>
<Person>
<Name>Tom</Name>
<Age>18</Age>
</Person>
<Person>
<Name>Jerry</Name>
<Age>20</Age>
</Person>
</Persons>
示例二
假设我们需要导出一个包含若干个Student对象的List数据,Student类包含Name、Age和Class三个属性,我们可以这样来实现:
[Serializable]
[XmlRoot("Students")]
public class Student
{
[XmlElement("Name")]
public string Name { get; set; }
[XmlElement("Age")]
public int Age { get; set; }
[XmlElement("Class")]
public string Class { get; set; }
}
static void Main(string[] args)
{
List<Student> students = new List<Student>();
students.Add(new Student { Name = "Tom", Age = 18, Class = "Grade 1" });
students.Add(new Student { Name = "Jerry", Age = 20, Class = "Grade 2" });
XmlSerializer serializer = new XmlSerializer(typeof(List<Student>));
using (StreamWriter sw = new StreamWriter("students.xml"))
{
serializer.Serialize(sw, students);
}
}
运行程序后可以在当前目录下看到生成的 students.xml
文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<Students>
<Student>
<Name>Tom</Name>
<Age>18</Age>
<Class>Grade 1</Class>
</Student>
<Student>
<Name>Jerry</Name>
<Age>20</Age>
<Class>Grade 2</Class>
</Student>
</Students>
总结
以上就是C#实现导出List数据到XML文件的方法。我们可以通过上述步骤,实现将各种格式的List数据导出到XML文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现导出List数据到xml文件的方法【附demo源码下载】 - Python技术站