using System;
using System.Collections.Generic;
using System.Xml;
namespace _03xml文档对象模型
{
class Program
{
static void Main(string[] args)
{
List<Student> list = new List<Student>();
list.Add(new Student() { ID = 1, Name = "颖宝宝", Gender = '女', Age = 30 });
list.Add(new Student() { ID = 2, Name = "茵宝宝", Gender = '女', Age = 30 });
list.Add(new Student() { ID = 3, Name = "样宝宝", Gender = '男', Age = 20 });
list.Add(new Student() { ID = 4, Name = "陈宝宝", Gender = '女', Age = 18 });
list.Add(new Student() { ID = 5, Name = "何宝宝", Gender = '男', Age = 20 });
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.AppendChild(dec);
XmlElement person = doc.CreateElement("Person");
doc.AppendChild(person);
//------本节重点----通过循环List集合,获得所有对象 以节点的形式添加到XML文档中
for (int i = 0; i < list.Count; i++)
{
XmlElement student = doc.CreateElement("Student");
person.AppendChild(student);
student.SetAttribute("studentID", list[i].ID.ToString());
XmlElement name = doc.CreateElement("Name");
name.InnerXml = list[i].Name;
XmlElement age = doc.CreateElement("Age");
age.InnerXml = list[i].Age.ToString();
XmlElement gender = doc.CreateElement("Gender");
gender.InnerXml = list[i].Gender.ToString();
//添加
student.AppendChild(name);
student.AppendChild(age);
student.AppendChild(gender);
}
doc.Save("Student.xml");
Console.WriteLine("保存成功");
Console.ReadKey();
}
class Student
{
public int Age
{
get;
set;
}
public string Name
{
get;
set;
}
public int ID
{
get;
set;
}
public char Gender
{
get;
set;
}
}
}
}
得到的.xml文件为Student.xml
<?xml version="1.0" encoding="utf-8"?>
<Person>
<Student studentID="1">
<Name>颖宝宝</Name>
<Age>30</Age>
<Gender>女</Gender>
</Student>
<Student studentID="2">
<Name>茵宝宝</Name>
<Age>30</Age>
<Gender>女</Gender>
</Student>
<Student studentID="3">
<Name>样宝宝</Name>
<Age>20</Age>
<Gender>男</Gender>
</Student>
<Student studentID="4">
<Name>陈宝宝</Name>
<Age>18</Age>
<Gender>女</Gender>
</Student>
<Student studentID="5">
<Name>何宝宝</Name>
<Age>20</Age>
<Gender>男</Gender>
</Student>
</Person>