.net中创建xml文件的两种方法
.net中创建xml文件的两种方法
方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式)
方法2:直接加载xml结构,保存文件(固定方式)
方法1:动态创建xml文档
根据传递的值,构建xml文档结构
1、创建实体类,保存窗体传递的值
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CreateXmlTest.Model { public class XmlTest { //xml文档名称 public string Name { get; set; } //厂商名称 public string Factory { get; set; } //上传方式 public string UpMethod { get; set; } //压缩方式 public string Compress { get; set; } } }
2、创建窗体页面
3、固定方式和灵活方式的源码
using CreateXmlTest.Model; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml; namespace CreateXmlTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } /// <summary> /// 固定方式模板 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnModel_Click(object sender, EventArgs e) { //创建空的xml文档 XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml("<?xml version='1.0' encoding='utf-8'?>"+ "<bookstore>"+ "<book>"+ "<name>我不是一个人战斗</name>"+ "<author>吴京著</author>"+ "<price>99.8元</price>"+ "</book>"+ "</bookstore>"); xmldoc.Save("测试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); //添加一个根元素 //创建元素节点ModelConfig XmlElement xmlele = xmldoc.CreateElement("","ModelConfig", ""); //创建文本节点 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成文件 xmldoc.Save(oms.Name+".xml"); } } }
4、固定创建的xml文档和灵活创建的xml文档视图
1)生成的xml文档在项目的bin下面
2)测试模板1结果视图(固定)
3)测试模板2结果视图(动态)
参考来源:
http://www.cnblogs.com/jhxk/articles/1872930.html
平时多记记,到用时才能看看,记录你的进步,分享你的成果