把list集合的內容寫入到Xml中,通過XmlDocument方式寫入Xml檔案中

李洛塵發表於2018-12-03

 

List<Person> list = new List<Person>
{
new Person{Name=”張三”,Age=20,Email=”zs@zhansan.com”},
new Person{Name=”李四”,Age=30,Email=”ls@lisi.com”},
new Person{Name=”王五”,Age=22,Email=”ww@wangwu.com”},
new Person{Name=”趙柳”,Age=20,Email=”xl@zhaoliou.com”},
new Person{Name=”玄武”,Age=20,Email=”xw@xuanwu.com”},
new Person{Name=”白虎”,Age=20,Email=”bh@baihu.com”},
};

//例項化XMLDocument物件
XmlDocument xmldoc = new XmlDocument();

//增加一個Xml文件宣告

XmlDeclaration xmldeclaration = xmldoc.CreateXmlDeclaration(“1.0”, “utf-8”, null);

//建立Xml文件根節點

XmlElement xmlelement = xmldoc.CreateElement(“List”);

//新增到Xml文件中
xmldoc.AppendChild(xmlelement);

//迴圈新增

for (int i = 0; i < list.Count; i++)
{

//建立根節點下的子節點
XmlElement xmlperson = xmldoc.CreateElement(“Person”);

//建立子節點的屬性ID
XmlAttribute xmlattribute = xmldoc.CreateAttribute(“id”);

//給屬性值賦值
xmlattribute.Value = (i + 1).ToString();

//新增到子節點中
xmlperson.Attributes.Append(xmlattribute);

//新增Name節點

XmlElement xmlName = xmldoc.CreateElement(“Name”);

//給Name文字賦值
xmlName.InnerText = list[i].Name;

//新增到Person節點下
xmlperson.AppendChild(xmlName);

//以下節點類似

XmlElement xmlAge = xmldoc.CreateElement(“Age”);
xmlAge.InnerText = list[i].Age.ToString();
xmlperson.AppendChild(xmlAge);

XmlElement xmlEmail = xmldoc.CreateElement(“Email”);
xmlEmail.InnerText = list[i].Email;
xmlperson.AppendChild(xmlEmail);

xmlelement.AppendChild(xmlperson);

}

//建立檔案儲存在Xml資料夾中

string fileName = Server.MapPath(“/Xml/List.xml”);

xmldoc.Save(fileName);

 

相關文章