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

说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...