窗体添加 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();
}
。。