标签:bms color 获取 mwl ++ gpo cpu 页面 ini
上次有说到.net 创建xml文件的方法(一种固定方式,一种动态方法),这次记录一下怎样导入xml文件
1、导入xml文件的方法
1)xml文件格式
2) 窗体页面的样式
3)源码实例
3.1)创建xml文件的源码
/// <summary> /// 灵活方式模板 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnModel1_Click(object sender, EventArgs e) { XmlTest oms = new XmlTest(); //获取保存xml名称 oms.Name = this.txt_Model.Text; //判断厂商保存的xml值 if (this.rad_3shape.Checked) { oms.Factory =this.rad_3shape.Text; } if (this.rad_ruike.Checked) { oms.Factory = this.rad_ruike.Text; } //判断压缩格式保存的xml值 if (this.rad_3oxz.Checked) { oms.Compress = this.rad_3oxz.Text; } if (this.rad_zip.Checked) { oms.Compress = this.rad_zip.Text; } //判断保存的xml值 if (this.rad_web.Checked) { oms.UpMethod = this.rad_web.Text; } if (this.rad_ftp.Checked) { oms.UpMethod = this.rad_ftp.Text; } //MessageBox.Show("厂商名称:"+oms.Factory +",压缩格式:"+oms.Compress+",上传方式:"+oms.UpMethod); //创建xml文档对象 XmlDocument xmldoc = new XmlDocument(); XmlText xmltext; //加入xml的声明段落 XmlNode xmlnode = xmldoc.CreateXmlDeclaration("1.0","utf-8",null); xmldoc.AppendChild(xmlnode); //添加一个根元素 //创建元素节点Model XmlElement xmlele = xmldoc.CreateElement("","Model", ""); //创建文本节点 xmltext = xmldoc.CreateTextNode(""); //创建元素节点的文本节点 xmlele.AppendChild(xmltext); //绑定元素节点属于xml文档 xmldoc.AppendChild(xmlele); //添加一个子元素 XmlElement xmlele1 = xmldoc.CreateElement("", "Config", ""); xmltext = xmldoc.CreateTextNode(""); xmlele1.AppendChild(xmltext); //创建元素节点的属性节点 xmlele1.SetAttribute("id","1"); //绑定元素节点Config在ModelCofig下 xmldoc.ChildNodes.Item(1).AppendChild(xmlele1); ////添加第二个子元素 //XmlElement xmlele11 = xmldoc.CreateElement("","Config",""); //xmltext = xmldoc.CreateTextNode("配置2"); //xmlele11.AppendChild(xmltext); //xmlele11.SetAttribute("id","2"); //xmldoc.ChildNodes.Item(1).AppendChild(xmlele11); //创建第一个子元素的子元素 XmlElement xmlele2 = xmldoc.CreateElement("","FactoryName",""); xmltext = xmldoc.CreateTextNode(oms.Factory); xmlele2.AppendChild(xmltext); xmldoc.ChildNodes.Item(1).AppendChild(xmlele1).AppendChild(xmlele2); XmlElement xmlele3 = xmldoc.CreateElement("","CompressMethod",""); xmltext = xmldoc.CreateTextNode(oms.Compress); xmlele3.AppendChild(xmltext); xmldoc.ChildNodes.Item(1).AppendChild(xmlele1).AppendChild(xmlele3); XmlElement xmlele4 = xmldoc.CreateElement("","UpMethod",""); xmltext = xmldoc.CreateTextNode(oms.UpMethod); xmlele4.AppendChild(xmltext); xmldoc.ChildNodes.Item(1).AppendChild(xmlele1).AppendChild(xmlele4); //保存xml成文件 //判断保存的路径是否存在 if (!Directory.Exists(Application.StartupPath + @"\Tempate")) { Directory.CreateDirectory(Application.StartupPath + @"\Tempate"); } //保存xml成文件(程序路径下的tempate) xmldoc.Save(Application.StartupPath + @"\Tempate\" + oms.Name + ".xml"); MessageBox.Show("创建"+oms.Name +".xml成功!","信息提示:"); //xmldoc.Save(oms.Name+".xml"); }
3.2) 导入xml文件的源码
/// <summary>
/// 导入模板方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnTempate_Click(object sender, EventArgs e)
{
OpenFileDialog ofg = new OpenFileDialog();
//判断保存的路径是否存在
if (!Directory.Exists(Application.StartupPath + @"\Tempate"))
{
//创建路径
Directory.CreateDirectory(Application.StartupPath + @"\Tempate");
}
//设置默认打开路径(项目安装路径+Tempate\)
ofg.InitialDirectory = Application.StartupPath + @"\Tempate";
//设置打开标题、后缀
ofg.Title = "请选择导入xml文件";
ofg.Filter = "xml文件|*.xml";
string path = "";
//创建字典集合对象 List<string> listNode = new List<string>();
Dictionary<string, string> dict = new Dictionary<string, string>();
//获取打开的文件路径
if (ofg.ShowDialog() == DialogResult.OK) {
//得到打开的文件路径(包括文件名)
path = ofg.FileName.ToString();
}
//判断是否选择xml文件
if (path.Length > 0)
{
//创建xml类对象,并将文件加载到对象中
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(path);
//选择xml根节点
XmlNode model = doc.SelectSingleNode("Model");
//根节点下子孙节点列表
XmlNodeList config = model.ChildNodes;
//遍历model下的所有子节点(config)
foreach (XmlNode p in config)
{
//将根结点的孩子结点转换为一个XmlElement元素
XmlElement xe = (XmlElement)p;
//获取XMlElement元素的孩子节点
XmlNodeList xnl = xe.ChildNodes;
//遍历config 下所有子节点
foreach (XmlNode x in xnl)
{
//MessageBox.Show(""+ x.Name);
string chi = x.FirstChild.InnerText.Replace("\"", "");
//保存在字典集合中(节点名,节点信息) listNode.Add(chi);
dict.Add(x.Name, chi);
}
}
//加载xml保存信息
//获取xml文件名称
string tempateName = path.Substring(path.LastIndexOf(‘\\‘) + 1);
string[] strs = tempateName.Split(‘.‘);
this.txt_Model.Text = strs[0];
//加载厂商名称
if (dict["FactoryName"] == this.rad_3shape.Text) {
this.rad_3shape.Checked = true;
}
if (dict["FactoryName"] == this.rad_ruike.Text) {
this.rad_ruike.Checked = true;
}
//加载压缩方式
if (dict["CompressMethod"] == this.rad_3oxz.Text)
{
this.rad_3oxz.Checked = true;
}
if (dict["CompressMethod"] == this.rad_zip.Text)
{
this.rad_zip.Checked = true;
}
//加载厂商名称
if (dict["UpMethod"] == this.rad_web.Text)
{
this.rad_web.Checked = true;
}
if (dict["UpMethod"] == this.rad_ftp.Text)
{
this.rad_ftp.Checked = true;
}
//导入提示
MessageBox.Show("导入" + strs[0] + ".xml成功!", "信息提示:");
}
}
4)导入视图页面
.net中xml文件的导入使用(包括创建xml和导入xml)
标签:bms color 获取 mwl ++ gpo cpu 页面 ini
原文地址:http://www.cnblogs.com/xielong/p/6244997.html