前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >C#在WINForm程序中创建XML文件

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

作者头像
zls365
发布于 2021-02-26 02:49:27
发布于 2021-02-26 02:49:27
2.4K00
代码可运行
举报
文章被收录于专栏:CSharp编程大全CSharp编程大全
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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>

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:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 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:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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")

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

希望对各位有所帮助!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSharp编程大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C# XML基础入门(XML文件内容增删改查清)
最近对接了一个第三方的项目,该项目的数据传输格式是XML。由于工作多年只有之前在医疗行业的时候有接触过少量数据格式是XML的接口,之后就几乎没有接触过了。因此对于XML这块自己感觉还是有很多盲点和不足的,所以自己通过一些网上的资料总结了一下XML相关知识点。
追逐时光者
2022/04/16
2K0
C#XmlHelper帮助类操作Xml文档的通用方法汇总
该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内容增删改的一些通过方法)。当然可能还有很多方法会漏了,假如各位同学好的方法可以在文末留言,我会统一收集起来。
追逐时光者
2022/04/16
1.9K0
sql初始化XML操作
/// <summary> /// 添加记录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { try { XmlD
欢醉
2018/01/22
7820
C#中常用的几种读取XML文件的方法
本文转载:http://www.cnblogs.com/xiaoxiangfeizi/archive/2011/07/29/2120807.html
跟着阿笨一起玩NET
2018/09/18
6.2K0
C#中常用的几种读取XML文件的方法
asp.net 对xml文件的读写,添加,修改,删除操作
XmlNode xmldocSelect=xmlDoc.SelectSingleNode("user");
Java架构师必看
2021/03/22
1.6K0
C#下使用XmlDocument详解
XML在开发中作为文件存储格式、数据交换的协议用的非常普遍,各个编程语言有都支持。W3C也制定了XML DOM的标准。在这里主要介绍下.Net中的XmlDocument,包括xml读取和写入等功能。
全栈程序员站长
2022/06/28
1.5K0
公司禁用用迅雷,禁用所有P2P协议的软件,自己写个断点续传的工具
目前仅支持HTTP协议 下一步的工作是支持FTP协议 再下一步的工作是对原始URL进行智能分析 发此文以抗议像吉日兄这样的总监或者老板 public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();                     }         private void DownLoad()         {             XmlD
liulun
2022/05/09
4360
c#操作xml文件
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml;
全栈程序员站长
2022/07/05
5970
C# -XML用法(XmlDocument )
使用visual studio中自带的xml解析器,引入 System.Xml 命名空间。
全栈程序员站长
2022/09/06
8610
C#操作XML方法汇总
一、简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml")); //指定一个节点 XmlNode root=xml.SelectSingleNode("/root"); //获取节点下所有直接子节点 XmlNodeList
跟着阿笨一起玩NET
2018/09/18
3.2K0
XML——对XML文档的创建与增删改查
一、创建的第一种方式  //1、创建一个XML文档 XmlDocument doc = new XmlDocument(); //2、创建第一行描述信息 XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null); //3、将创建的第一行描述信息添加到文档中 doc.AppendChild(
指尖改变世界
2018/08/31
9540
XML——对XML文档的创建与增删改查
XML: 使用XmlDocument 与 XmlReader 类
一. XmlDocument类: XmlDocument与XmlReader类从.NET 1.0就已经存在了。W3C定义了一个叫做文件对象模型(DOM: Document Object Model)的标准来处理XML文档。支持DOM的类可以自由地定位并修改XML文档。要想使用XmlDocument类,需要添加System.Xml.dll的引用,并且引入System.Xml命名空间。XmlDocument类使用DOM级别1与级别2,在内存中对XML进行表示。这个类可以定位寻找或者修改XML结点。
全栈程序员站长
2022/09/06
7030
C#操作XML方法集合
先来了解下操作XML所涉及到的几个类及之间的关系 如果大家发现少写了一些常用的方法,麻烦在评论中指出,我一定会补上的!谢谢大家
全栈程序员站长
2022/09/07
2.5K0
C#操作XML方法集合
uinty中对Xml文件的操作
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
bering
2019/12/03
1.1K0
XML 通用操作
Xml格式: <?xml version="1.0" encoding="utf-8"?> <remotes> <remote ip="ipval">nameAndPwd</remote> </rem
磊哥
2018/05/09
1.1K0
【C#】创建、解析 xml 文件(XmlDocument 方式)
本文使用 System.Xml 中的 XmlDocument 解析 xml 格式的文件。另外,由于我是粗略的看了下官方文档和一些博客,可能会有许多错误的地方,望指出。
全栈程序员站长
2022/09/06
1.7K0
.xml用什么打开_xml html
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说.xml用什么打开_xml html,希望能够帮助大家进步!!!
Java架构师必看
2022/07/29
2K0
XmlDocument使用
大家好,又见面了,我是你们的朋友全栈君。 private XmlDocument xmlDoc;
全栈程序员站长
2022/06/28
4720
C# XML基本操作
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
全栈程序员站长
2022/09/07
4390
Unity中的数据持久化,使用excel、文件、yaml、xml、json等方式
Unity中的数据持久化,可以使用excel、文件、yaml、xml、json等方式。
一凡sir
2023/08/04
1.4K0
相关推荐
C# XML基础入门(XML文件内容增删改查清)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文