string file = "c://work.xml";
private void btnCearte_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
XmlDeclaration dl = doc.CreateXmlDeclaration("1.0", "Unicode", null);
doc.AppendChild(dl);
XmlElement @class = doc.CreateElement("class");
doc.AppendChild(@class);
doc.Save(file);
}
private void btnInsert_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(file);
XmlElement student = doc.CreateElement("student");
student.SetAttribute("age", "20");
XmlElement name = doc.CreateElement("name");
name.InnerText = "demo_name";
XmlElement sex = doc.CreateElement("sex");
sex.InnerText = "famale";
student.AppendChild(name);
student.AppendChild(sex);
XmlNode @class = doc.SelectSingleNode("class");
@class.AppendChild(student);
doc.Save(file);
}
private void btnSearch_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(file);
XmlNodeList list = doc.SelectNodes("//student[name='demo_name]");
foreach (XmlNode item in list)
{
this.Text = item.FirstChild.InnerText;
}
}
private void btnModify_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(file);
XmlNode result = doc.SelectSingleNode("//student/sex[../name='demo_name]");
result.InnerText = "未知";
doc.Save(file);
}
private void btnDelete_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(file);
XmlNodeList list = doc.SelectNodes("//student");
for (int i = 0; i < list.Count; i++)
{
list[i].ParentNode.RemoveChild(list[i]);
}
doc.Save(file);
}
private void btnAvg_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(file);
XmlNodeList ages = doc.SelectNodes("//student");
int sum = 0;
foreach (XmlNode item in ages)
{
sum += int.Parse((item as XmlElement).GetAttribute("age"));
}
this.Text = (sum / ages.Count).ToString();
}