服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C# 如何在WINForm程序中创建XML文件

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

2022-11-02 11:17zls366 C#

这篇文章主要介绍了C# 如何在WINForm程序中创建XML文件,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下

?
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="gb2312"?>
<FilesInformation>
  <version>1.0.1818.42821</version>
  <description>说明</description>
  <FileItem
  FileName="name"
  FileVersion="sdf"
  FileLength="sdf"
  FileCreationTime="sd"
  />
</FilesInformation>
?
1
string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;   

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

?
1
File.Exists(path + XmlFileName) 

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

?
1
XmlDocument xmlDoc = new XmlDocument();    

这一句是创建一个XmlDocument对象

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

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

?
1
xmlDoc.AppendChild(xmlSM); 

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

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

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

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

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

?
1
xmlDoc.AppendChild(DeviceTree);

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

?
1
xmlDoc.Save(path + XmlFileName);

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

方法1:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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()是自定义的一个获取文件路径加名称的方法,请根据自己实际情况修改!我一般设定为

?
1
Environment.CurrentDirectory+\\111.xml

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

希望对各位有所帮助!

以上就是C# 如何在WINForm程序中创建XML文件的详细内容,更多关于c# 创建XML文件的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/zls366/p/14434163.html

延伸 · 阅读

精彩推荐
  • C#C#接口实现方法实例分析

    C#接口实现方法实例分析

    这篇文章主要介绍了C#接口实现方法,以实例形式较为详细的分析了C#接口的功能、定义及实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    baggio70955868012021-10-29
  • C#C#正则表达式Regex类的常用匹配

    C#正则表达式Regex类的常用匹配

    本文通过几个具体的实例,给大家详细介绍了C#中的正则表达式Regex类的实用方法,非常的细致,有需要的小伙伴可以参考下...

    C#教程网12142021-11-05
  • C#C#使用GZipStream实现文件的压缩与解压

    C#使用GZipStream实现文件的压缩与解压

    这篇文章主要为大家详细介绍了C#使用GZipStream实现文件的压缩与解压,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一...

    在代码的世界里游走11332022-03-02
  • C#Unity通用泛型单例设计模式(普通型和继承自MonoBehaviour)

    Unity通用泛型单例设计模式(普通型和继承自MonoBehaviour)

    这篇文章主要介绍了Unity通用泛型单例设计模式,分为普通型和继承MonoBehaviour,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...

    汐夜4582022-09-27
  • C#C#发送邮箱实现代码

    C#发送邮箱实现代码

    这篇文章主要为大家详细介绍了C#发送邮箱实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    独钓寒江雪丶10142021-12-16
  • C#C#微信开发(服务器配置)

    C#微信开发(服务器配置)

    这篇文章主要介绍了C#微信开发中有关服务器配置的相关内容,感兴趣的小伙伴们可以参考一下...

    AmosHs丶11132021-11-03
  • C#C#通过创建Windows服务启动程序的方法详解

    C#通过创建Windows服务启动程序的方法详解

    这篇文章主要介绍了C#通过创建Windows服务启动程序的方法,较为详细的分析了C#创建Windows服务应用程序的步骤与相关注意事项,需要的朋友可以参考下...

    smartsmile20128532021-11-29
  • C#c# 断点续传的实现

    c# 断点续传的实现

    这篇文章主要介绍了c# 断点续传的实现,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...

    sparkdev4302022-10-19