1、用xmlDOcuemnt把List集合中的内容循环写入到xml中
List<Person> mylist=new List<Person>();
mylist.Add(new Person() { name = "李大", age = 20, email = "lida@163.xom" });
mylist.Add(new Person() { name = "李二", age = 19, email = "lier@163.xom" });
mylist.Add(new Person() { name = "李三", age = 18, email = "lisan@163.xom" });
//1声明对象
XmlDocument doc = new XmlDocument();
//添加文档声明
XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "utf-8", "yes");
doc.AppendChild(declaration);
//添加根元素
XmlElement listElement = doc.CreateElement("List");
doc.AppendChild(listElement);
//循环添加person
for (int i = 0; i < mylist.Count; i++)
{
XmlElement personElement = doc.CreateElement("person");
XmlAttribute attrID = doc.CreateAttribute("id");
attrID.Value = (i + 1).ToString();
XmlElement nameElement = doc.CreateElement("name");
nameElement.InnerText = mylist[i].name;
XmlElement ageElement = doc.CreateElement("age");
ageElement.InnerText = mylist[i].age.ToString();
XmlElement emailElement = doc.CreateElement("email");
emailElement.InnerText = mylist[i].email;
personElement.AppendChild(nameElement);
personElement.AppendChild(ageElement);
personElement.AppendChild(emailElement);
listElement.AppendChild(personElement);
}
//将dom对象写入xml文件中
doc.Save("ListStudent.xml");
MessageBox.Show("okk");
结果:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<List>
<person>
<name>李大</name>
<age>20</age>
<email>lida@163.xom</email>
</person>
<person>
<name>李二</name>
<age>19</age>
<email>lier@163.xom</email>
</person>
<person>
<name>李三</name>
<age>18</age>
<email>lisan@163.xom</email>
</person>
</List>
2、xDocument写法
XDocument是.net3.5为Linq for XML准备的轻量级document对象,功能上与xmldocument差不多,但使用上方便了许多
List<Person> mylist=new List<Person>();
mylist.Add(new Person(){name="李大",age=20,email="lida163.com"});
mylist.Add(new Person(){name="李二",age=20,email="lier163.com"});
mylist.Add(new Person(){name="李三",age=20,email="lisan163.com"});
//1声明对象
XDocument xdoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
XElement listElement = new XElement("List");
xdoc.Add(listElement);
for (int i = 0; i < mylist.Count; i++)
{
XElement personElemlent = new XElement("person");
personElemlent.SetAttributeValue("id", (i + 1).ToString());
personElemlent.SetElementValue("name", mylist[i].name);
personElemlent.SetElementValue("age", mylist[i].age.ToString());
personElemlent.SetElementValue("email", mylist[i].email);
listElement.Add(personElemlent);
}
xdoc.Save("ListNew.xml");
MessageBox.Show("ko");
结果:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<List>
<person id="1">
<name>李大</name>
<age>20</age>
<email>lida163.com</email>
</person>
<person id="2">
<name>李二</name>
<age>20</age>
<email>lier163.com</email>
</person>
<person id="3">
<name>李三</name>
<age>20</age>
<email>lisan163.com</email>
</person>
</List>