Form.cs代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;
using System.Xml.Linq;
namespace XML
{
public partial class Form1 : Form
{
XmlDocument document = new XmlDocument();
XmlNodeList NodeList;
XmlNode Node;
int curent;
FileInfo filexml;
public Form1()
{
InitializeComponent();
}
private void tb_duxie_Click(object sender, EventArgs e)
{
OpenFileDialog tmp = new OpenFileDialog();
tmp.Filter = "XML(*.XML)|*.XML|xml(*.xml)|*.xml";
if (tmp.ShowDialog() == DialogResult.OK)
{
if (tmp.FileName != null)
{
bt_top.Enabled = false;
bt_left.Enabled = false;
//document = new XmlDocument();
document.Load(tmp.FileName);
NodeList = document.SelectNodes("/class/student");
Node=NodeList.Item(0);
tb_name.Text = Node.ChildNodes[0].InnerText.ToString();
tb_sex.Text = Node.ChildNodes[1].InnerText.ToString();
tb_shucheng.Text = Node.ChildNodes[2].InnerText.ToString();
tb_zhuanye.Text = Node.ChildNodes[3].InnerText.ToString();
if (NodeList.Count <= 1)
{
bt_right.Enabled = false;
bt_bottom.Enabled = false;
}
else
{
curent = 0;
bt_right.Enabled = true;
bt_bottom.Enabled = true;
}
}
}
}
private void bt_right_Click(object sender, EventArgs e)
{
curent += 1;
xml(curent);
}
private void bt_left_Click(object sender, EventArgs e)
{
curent -= 1;
xml(curent);
}
private void bt_top_Click(object sender, EventArgs e)
{
curent = 0;
xml(curent);
}
private void bt_bottom_Click(object sender, EventArgs e)
{
curent = NodeList.Count - 1;
xml(curent);
}
private void bt_esc_Click(object sender, EventArgs e)
{
Application.Exit();
}
public void xml(int i)
{
if (i > 0 || i < NodeList.Count)
{
Node = NodeList.Item(i);
tb_name.Text = Node.ChildNodes[0].InnerText.ToString();
tb_sex.Text = Node.ChildNodes[1].InnerText.ToString();
tb_shucheng.Text = Node.ChildNodes[2].InnerText.ToString();
tb_zhuanye.Text = Node.ChildNodes[3].InnerText.ToString();
}
if (i == 0)
{
Node = NodeList.Item(i);
tb_name.Text = Node.ChildNodes[0].InnerText.ToString();
tb_sex.Text = Node.ChildNodes[1].InnerText.ToString();
tb_shucheng.Text = Node.ChildNodes[2].InnerText.ToString();
tb_zhuanye.Text = Node.ChildNodes[3].InnerText.ToString();
bt_top.Enabled = false;
bt_left.Enabled = false;
}
if (NodeList.Count > 1 && i + 1 < NodeList.Count)
{
bt_right.Enabled = true;
bt_bottom.Enabled = true;
}
if (i + 1 >= NodeList.Count)
{
bt_right.Enabled = false;
bt_bottom.Enabled = false;
bt_top.Enabled = true;
bt_left.Enabled = true;
}
if (i > 0)
{
bt_top.Enabled = true;
bt_left.Enabled = true;
}
}
private void bt_xueru_Click(object sender, EventArgs e)
{
SaveFileDialog tmp = new SaveFileDialog();
tmp.Filter = "XML|*.xml";
if (tmp.ShowDialog() == DialogResult.OK)
{
//document = new XmlDocument();
string tmpFileName = tmp.FileName;
////声明xml文档
//document.AppendChild(document.CreateXmlDeclaration("1.0", "UTF-8", "yes"));
////根元素
//document.AppendChild(document.CreateElement("class"));
//for (int i = 0; i < 3; i++)
//{
// //根节点
// XmlElement element = document.CreateElement("student");
// //子节点
// XmlElement elementName = document.CreateElement("Name");
// XmlElement elementSex = document.CreateElement("Sex");
// XmlElement elementBirthday = document.CreateElement("Birthday");
// XmlElement elementMajor = document.CreateElement("Major");
// //子节点赋值
// tb_name.Text = i.ToString();
// tb_sex.Text = i.ToString();
// tb_shucheng.Text = i.ToString();
// tb_zhuanye.Text = i.ToString();
// elementName.InnerText = tb_name.Text;
// elementSex.InnerText = tb_sex.Text;
// elementBirthday.InnerText = tb_shucheng.Text;
// elementMajor.InnerText = tb_zhuanye.Text;
// //子节点添加至根节点
// element.AppendChild(elementName);
// element.AppendChild(elementSex);
// element.AppendChild(elementBirthday);
// element.AppendChild(elementMajor);
// //封闭根元素
// ((XmlElement)document.SelectSingleNode("/class")).AppendChild(element);
//}
try
{
document.Save(tmpFileName);
MessageBox.Show("xml文档创建成功");
bt_new_add.Visible = false;
bt_new_add.Enabled = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
private void bt_new_Click(object sender, EventArgs e)
{
bt_new_add.Visible = true;
bt_new_add.Enabled = true;
//声明xml文档
document.AppendChild(document.CreateXmlDeclaration("1.0", "UTF-8", "yes"));
//根元素
document.AppendChild(document.CreateElement("class"));
}
private void bt_bianji_Click(object sender, EventArgs e)
{
SaveFileDialog tmp = new SaveFileDialog();
tmp.Filter = "XML|*.xml";
if (tmp.ShowDialog() == DialogResult.OK)
{
Node.ChildNodes[0].InnerText = tb_name.Text;
Node.ChildNodes[1].InnerText = tb_sex.Text;
Node.ChildNodes[2].InnerText = tb_shucheng.Text;
Node.ChildNodes[3].InnerText = tb_zhuanye.Text;
try
{
document.Save(tmp.FileName);
MessageBox.Show("编辑成功");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
private void bt_new_new_add(object sender, EventArgs e)
{
//根节点
XmlElement element = document.CreateElement("student");
//子节点
XmlElement elementName = document.CreateElement("Name");
XmlElement elementSex = document.CreateElement("Sex");
XmlElement elementBirthday = document.CreateElement("Birthday");
XmlElement elementMajor = document.CreateElement("Major");
//子节点赋值
//tb_name.Text = i.ToString();
//tb_sex.Text = i.ToString();
//tb_shucheng.Text = i.ToString();
//tb_zhuanye.Text = i.ToString();
elementName.InnerText = tb_name.Text;
elementSex.InnerText = tb_sex.Text;
elementBirthday.InnerText = tb_shucheng.Text;
elementMajor.InnerText = tb_zhuanye.Text;
//子节点添加至根节点
element.AppendChild(elementName);
element.AppendChild(elementSex);
element.AppendChild(elementBirthday);
element.AppendChild(elementMajor);
//封闭根元素
((XmlElement)document.SelectSingleNode("/class")).AppendChild(element);
}
}
}
XML文件内容
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2011 (http://www.altova.com) by qq (qqq) -->
<class>
<student>
<姓名>王林</姓名>
<性别>男</性别>
<出生时间>1990-02-10</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>程明</姓名>
<性别>男</性别>
<出生时间>1991-02-01</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>王燕</姓名>
<性别>女</性别>
<出生时间>1989-10-06</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>韦严平</姓名>
<性别>男</性别>
<出生时间>1990-08-26</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>李方方</姓名>
<性别>男</性别>
<出生时间>1990-11-20</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>李明</姓名>
<性别>男</性别>
<出生时间>1990-05-01</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>林一帆</姓名>
<性别>男</性别>
<出生时间>1989-08-05</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>张强民</姓名>
<性别>男</性别>
<出生时间>1989-08-11</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>张蔚</姓名>
<性别>女</性别>
<出生时间>1991-07-22</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>赵琳</姓名>
<性别>女</性别>
<出生时间>1990-03-18</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>严红</姓名>
<性别>女</性别>
<出生时间>1989-08-11</出生时间>
<专业>计算机</专业>
</student>
<student>
<姓名>王敏</姓名>
<性别>男</性别>
<出生时间>1989-06-10</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>王林</姓名>
<性别>男</性别>
<出生时间>1989-01-29</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>王玉民</姓名>
<性别>男</性别>
<出生时间>1990-03-26</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>马琳琳</姓名>
<性别>女</性别>
<出生时间>1989-02-10</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>李计</姓名>
<性别>男</性别>
<出生时间>1989-09-20</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>李红庆</姓名>
<性别>男</性别>
<出生时间>1989-05-01</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>孙祥欣</姓名>
<性别>男</性别>
<出生时间>1989-03-19</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>孙研</姓名>
<性别>男</性别>
<出生时间>1990-10-09</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>吴薇华</姓名>
<性别>女</性别>
<出生时间>1990-03-18</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>刘燕敏</姓名>
<性别>女</性别>
<出生时间>1989-11-12</出生时间>
<专业>通信工程</专业>
</student>
<student>
<姓名>罗林琳</姓名>
<性别>女</性别>
<出生时间>1990-01-30</出生时间>
<专业>通信工程</专业>
</student>
</class>
链接: https://pan.baidu.com/s/1JSXH7cm1b4f7w3CAYnVc8g
提取码: dksh