C#在WINForm程序中创建XML文件

14 篇文章 0 订阅
10 篇文章 2 订阅
<?xml version="1.0" encoding="gb2312"?>  1.0.1818.42821  说明    FileName="name"  FileVersion="sdf"  FileLength="sdf"  FileCreationTime="sd"  />

string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;    

获取和设置包含该应用程序的目录的名称

File.Exists(path + XmlFileName) 

File.Exists是判断文件是否存在,传入参数为路径+文件名

XmlDocument xmlDoc = new XmlDocument();    

这一句是创建一个XmlDocument对象

XmlDeclaration xmlSM = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);   

这一句是添加xml文件头的声明

xmlDoc.AppendChild(xmlSM); 

这一句是将创建的XmlDocument对象追加到xml文件声明后面

XmlElement DeviceTree = xmlDoc.CreateElement("DeviceTree"); 

这一句为创建一个标签名为DeviceTree的节点

DeviceTree.SetAttribute("name", "设备树");

这一句设置节点的name属性为设备树

xmlDoc.AppendChild(DeviceTree);

这一句是将创建的节点添加到开始创建的XmlDocument对象中

xmlDoc.Save(path + XmlFileName);

最后是保存创建好的xml文件

方法1:

private void button1_Click(object sender, EventArgs e)  {      XmlDocument xmlDoc = new XmlDocument();           //建立Xml的定义声明         XmlDeclaration dec = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);         xmlDoc.AppendChild(dec);           //创建根节点         XmlElement root = xmlDoc.CreateElement("FilesInformation");         xmlDoc.AppendChild(root);        XmlElement version = xmlDoc.CreateElement("version");      version.InnerText = "1.0.1818.42821";      root.AppendChild(version);          XmlElement description = xmlDoc.CreateElement("description");      description.InnerText = "说明";      root.AppendChild(description);        XmlElement fileItem = xmlDoc.CreateElement("FileItem");      fileItem.SetAttribute("FileName", "name");      fileItem.SetAttribute("FileVersion", "xx");      fileItem.SetAttribute("FileLength", "xxx");      fileItem.SetAttribute("FileCreationTime", "xxxx");      root.AppendChild(fileItem);           xmlDoc.Save("test.xml");     }

方法2:​​​​​​​

 XmlDocument xmldoc = new XmlDocument();                XmlText xmltext;
                //声明                XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");                xmlnode.InnerText += " encoding=\"GB2312\"";                xmldoc.AppendChild(xmlnode);
                //添加根节点                XmlElement xmlelementroot = xmldoc.CreateElement("", "Config", "");                //根节点包含节点文本时会造成XML文档结构的混乱                //xmltext = xmldoc.CreateTextNode("配置信息");                //xmlelementroot.AppendChild(xmltext);                xmldoc.AppendChild(xmlelementroot);
                //添加一个元素                XmlElement xmlelement1 = xmldoc.CreateElement("", "DTL", "");                xmltext = xmldoc.CreateTextNode("2010-10-25");                xmlelement1.AppendChild(xmltext);                xmldoc.ChildNodes.Item(1).AppendChild(xmlelement1);
                //添加另一个元素                XmlElement xmlelement2 = xmldoc.CreateElement("", "DTF", "");                xmltext = xmldoc.CreateTextNode("2011-02-10");                xmlelement2.AppendChild(xmltext);                xmldoc.ChildNodes.Item(1).AppendChild(xmlelement2);
                //保存                xmldoc.Save(Environment.CurrentDirectory+"\\111.xml");

方法3:

​​​​​​​

XmlTextWriter xmlwriter = new XmlTextWriter(getPath(), Encoding.Default);                xmlwriter.Formatting = Formatting.Indented;                xmlwriter.Indentation = 4;
                xmlwriter.WriteStartDocument();                xmlwriter.WriteStartElement("", "Config", "");
                xmlwriter.WriteStartElement("", "DTL", "");                xmlwriter.WriteString("2010-10-25");                xmlwriter.WriteEndElement();
                xmlwriter.WriteStartElement("", "DTF", "");                xmlwriter.WriteString("2011-02-10");                xmlwriter.WriteEndElement();
                xmlwriter.WriteEndElement();                xmlwriter.WriteEndDocument();
                xmlwriter.Flush();                xmlwriter.Close();

上面代码中的getPath()是自定义的一个获取文件路径加名称的方法,请根据自己实际情况修改!我一般设定为(Environment.CurrentDirectory+"\\111.xml")

总的来说还是方法三比较容易理解,简单易用,也是我常用的方法!

希望对各位有所帮助!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值