C#创建 xml 文档

窗体添加 dataGridView1   button1 。

引用命名空间:

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.Xml.Linq;
using System.Xml;
using System.IO;

全局变量(当然,可以根据目的定义 局部/全局):

        #region - 定义全局变量
        /// <summary> 表示 xml 文档。 </summary>
        XmlDocument xdoc;
        /// <summary> 表示 xml 文档中的单节点。 </summary>
        XmlNode xnode;
        /// <summary> 表示一个元素。 </summary>
        XmlElement xel;
        /// <summary> 表示数据在内存中的缓存。 </summary>
        DataSet ds1;
        #endregion

定义方法:(创建的时候,元素值不要为空元素)

        /// <summary> 创建新 xml 文件 </summary>
        private void CreFile()
        {
            if (File.Exists(@"Total.xml"))
            {
                ds1 = new DataSet();        // 初始化 流
                ds1.ReadXml(@"Total.xml");  // 把 xml 文档读入流中
                dataGridView1.DataSource = ds1.Tables[0];
                //DataTable dt = ds1.Tables[0];
                //dataGridView1.DataSource = dt.DefaultView;
            }else
            {
                DialogResult r = MessageBox.Show(
                    "没有找到 Total.xml,\n是否创建 Total.xml?",
                    "创建 xml 文档 - 温馨提示!",
                    MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Question);
                if (r == DialogResult.OK)
                {
                    xdoc = new XmlDocument();     // 创建 xml 文档对象
                    // 加入XML的声明段落 - 表头定义
                    xnode = xdoc.CreateXmlDeclaration("1.0", "GB2312", "yes"); 
                    xdoc.AppendChild(xnode);
                    //创建的时候最好把所有 节点元素 都添加进去           
                    XmlElement rootEle = xdoc.CreateElement("", "DataName", ""); // 创建根节点
                    //rootEle.SetAttribute("name", "DataName");            // 属性设置,可不设置
                    xdoc.AppendChild(rootEle);

                    XmlNode roots = xdoc.SelectSingleNode("DataName");//查找

                    XmlElement Total = xdoc.CreateElement("Total");  // 创建 Total 节点元素
                    Total.SetAttribute("name", "File name");        //
                    Total.SetAttribute("id", "1");                  //  根据需要设置
                    Total.SetAttribute("age", "20");                //

                    XmlElement FileName0 = xdoc.CreateElement("FileName"); //创建 FileName 节点元素
                    //...参见上面的 Total.SetAttribute()...
                    FileName0.InnerText = "FileName内容";
                    Total.AppendChild(FileName0);
                    XmlElement FileNameValue0 = xdoc.CreateElement("FileNameValue");  //创建 FileNameValue 节点元素
                    //...参见上面的 Total.SetAttribute()...
                    FileNameValue0.InnerText = "Value内容";
                    Total.AppendChild(FileNameValue0);

                    roots.AppendChild(Total);                        // 把 Total 包含在 根节点末尾

                    XmlElement Total1 = xdoc.CreateElement("Total");  // 创建 Total 节点元素
                    Total1.SetAttribute("name", "File name");        //
                    Total1.SetAttribute("id", "2");                  //  根据需要设置
                    Total1.SetAttribute("age", "19");                //

                    XmlElement FileName1 = xdoc.CreateElement("FileName"); //创建 FileName1 节点元素
                    //...参见上面的 Total.SetAttribute()...
                    FileName1.InnerText = "FileName内容1";
                    Total1.AppendChild(FileName1);
                    XmlElement FileNameValue1 = xdoc.CreateElement("FileNameValue");  //创建 FileNameValue1 节点元素
                    //...参见上面的 Total.SetAttribute()...
                    FileNameValue1.InnerText = "Value内容1";
                    Total1.AppendChild(FileNameValue1);

                    roots.AppendChild(Total1);                        // 把 Total 包含在 根节点末尾
                    //保存创建好的XML文档
                    xdoc.Save(@"Total.xml");   // 保存文件
                }
                // 如果想创建文档后显示在 dataGridView1 中,要添加下面这些,不要就注释掉
                //if (File.Exists(@"Total.xml"))
                //{
                //    DataSet mydat = new DataSet();
                //    mydat.ReadXml(@"Total.xml");
                //    DataTable dt = mydat.Tables[0];
                //    dataGridView1.DataSource = dt.DefaultView;
                //}
            }
        }

触发事件按键:

        private void button1_Click(object sender, EventArgs e)
        {
            CreFile();            
        }

。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值