读取、显示、插入xml文件

时间:2023-01-14 00:11:19

xml文件格式为:

读取、显示、插入xml文件

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;

namespace test2016_2_21
{
    public partial class FrmXml : Form
    {
        string dbtype = "";
        string server = "";
        string login = "";
        string password = "";
        XmlDocument xmlDoc = new XmlDocument();
        string xml = @"DBConfig.xml";
        public FrmXml()
        {
            InitializeComponent();
            this.LoadData();
        }

        private void LoadData()
        {
            xmlDoc.Load("DBConfig.xml");
            StreamReader sr = new StreamReader(xml);
            this.richTextBox1.Text = sr.ReadToEnd();

            sr.Close();  
        }

        private void button1_Click(object sender, EventArgs e)
        {
            dbtype = this.tbDBType.Text;
            server = this.tbServer.Text;
            login = this.tbLogin.Text;
            password = this.tbPassword.Text;
            if (dbtype.Length != 0 && server.Length != 0 && login.Length != 0 && password.Length != 0)
            {
                
                this.InsertNode();
                this.LoadData();
            }
            else
            {
                MessageBox.Show("请输入完整信息");
            }
        }
        
        public void InsertNode()
        {

            Console.WriteLine("insert");
            XmlNode root = xmlDoc.SelectSingleNode("Config");//查找
            XmlElement xel = xmlDoc.CreateElement("DB");//创建一个db结点
            xel.SetAttribute("type", dbtype);//设置他的type属性

            XmlElement xelsbu1 = xmlDoc.CreateElement("Server");//创建一个server结点
            xelsbu1.InnerText = server;//设置他的文本
            xel.AppendChild(xelsbu1);//添加到db的子节点

            XmlElement xelsbu2 = xmlDoc.CreateElement("Login");
            xelsbu2.InnerText = login;
            xel.AppendChild(xelsbu2);

            XmlElement xelsbu3 = xmlDoc.CreateElement("Password");
            xelsbu3.InnerText = password;
            xel.AppendChild(xelsbu3);

            root.AppendChild(xel);
            xmlDoc.Save("DBConfig.xml");
            

        }
    }
}