using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
namespace Xml读写操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
#region 通过XmlDocument实现Xml文件写入
//1.在内存中构建一个Dom模型
XmlDocument xmldoc = new XmlDocument();
//为文档增加说明
XmlDeclaration xmldec = xmldoc.CreateXmlDeclaration("1.0", "utf-8", "yes");
xmldoc.AppendChild(xmldec);
//为文档增加根元素
XmlElement xmlroot = xmldoc.CreateElement("School");
xmldoc.AppendChild(xmlroot);
//为根元素中增加子元素
XmlElement xmlclass = xmldoc.CreateElement("class");
XmlAttribute xmlatt = xmldoc.CreateAttribute("id");
xmlatt.Value = "01";
xmlclass.Attributes.Append(xmlatt);
xmlroot.AppendChild(xmlclass);
XmlElement xmlstu = xmldoc.CreateElement("student");
XmlAttribute xmlattstu = xmldoc.CreateAttribute("sid");
xmlattstu.Value = "s011";
xmlstu.Attributes.Append(xmlattstu);
xmlclass.AppendChild(xmlstu);
XmlElement xmlname = xmldoc.CreateElement("name");
//让xml节点中间显示内容
xmlname.InnerText = "小明";
xmlstu.AppendChild(xmlname);
XmlElement xmlage = xmldoc.CreateElement("age");
xmlage.InnerText = "20";
xmlstu.AppendChild(xmlage);
//2.将该Dom对象写入到Xml文件中
xmldoc.Save("wSchool.xml");
MessageBox.Show("OK");
#endregion
#region 将List集合写入到Xml文件中
List<Person> list = new List<Person>();
list.Add(new Person() { Name = "小明", age = "20" });
list.Add(new Person() { Name = "小红", age = "21" });
list.Add(new Person() { Name = "小王", age = "22" });
list.Add(new Person() { Name = "小刚", age = "23" });
//1.创建一个dom对象
XmlDocument xmldoc = new XmlDocument();
XmlDeclaration xmldec = xmldoc.CreateXmlDeclaration("1.0", "utf-8", "no");
xmldoc.AppendChild(xmldec);
XmlElement xmlroot = xmldoc.CreateElement("List");
//xmldoc.AppendChild(xmlroot);
//循环创建Person节点
for (int i = 0; i < list.Count; i++)
{
//创建一个Person元素
XmlElement xmlPerson = xmldoc.CreateElement("Person");
XmlAttribute xmlattrid = xmldoc.CreateAttribute("ID");
xmlattrid.Value = (i + 1).ToString();
xmlPerson.Attributes.Append(xmlattrid);
XmlElement xmlname = xmldoc.CreateElement("name");
xmlname.InnerText = list[i].Name;
xmlPerson.AppendChild(xmlname);
XmlElement xmlage = xmldoc.CreateElement("age");
xmlage.InnerText = list[i].age;
xmlPerson.AppendChild(xmlage);
//最后把Person加到根节点下
xmlroot.AppendChild(xmlPerson);
}
//2.将该Dom对象写入到Xml文件中
xmldoc.Save("Person.xml");
MessageBox.Show("OK");
#endregion
#region 通过Xdocument方式写入Xml文件
List<Person> list = new List<Person>();
list.Add(new Person() { Name = "小明", age = "20" });
list.Add(new Person() { Name = "小红", age = "21" });
list.Add(new Person() { Name = "小王", age = "22" });
list.Add(new Person() { Name = "小刚", age = "23" });
//1.创建一个Dom对象
XDocument xdoc = new XDocument();
XDeclaration xdec = new XDeclaration("1.0", "utf-8", "yes");
xdoc.Declaration = xdec;
//创建根节点
XElement xroot = new XElement("List");
//循环List集合创建Person节点
for (int i = 0; i < list.Count; i++)
{
XElement xperson = new XElement("Person");
xperson.SetAttributeValue("id", (i + 1).ToString());
xperson.SetElementValue("name", list[i].Name);
xperson.SetElementValue("age", list[i].age);
xroot.Add(xperson);
}
xdoc.Add(xroot);
//2.将Dom对象写入Xml文件中
xdoc.Save("NewPerson.xml");
MessageBox.Show("OK");
#endregion
}
}
public class Person
{
public string Name { get; set; }
public string age { get; set; }
}
}
创建Winform项目 添加按钮为写入XML文件