Winform中对自定义xml配置文件进行Xml节点的添加与删除
场景
Winform中自定义xml配置文件后对节点进行读取与写入:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100532137
在上面已经对xml配置文件对节点能进行读取与写入之后 ,实现对节点元素的
添加与删除。
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
大量编程视频教程:https://space.bilibili.com/164396311
xml配置文件如下
<?xml version="1.0" encoding="utf-8" ?>
<Configure>
<!--Y轴集合-->
<YAxis>
<!--第一条Y轴-->
<YAxi>
<no></no>
<title>温度</title>
<color>black</color>
<min>-</min>
<max></max>
</YAxi>
<!--第二条Y轴-->
<YAxi>
<no></no>
<title>电压</title>
<color>black</color>
<min>-</min>
<max></max>
</YAxi>
</YAxis> </Configure>
实现
添加节点
在工具类中新增方法
public static void addNode()
{
//获取可执行文件的路径-即bin目录下的debug或者release目录
string context = System.Windows.Forms.Application.StartupPath;
string path = String.Concat(context, @"\config\YAxisSet.xml");
XmlDocument xml = new XmlDocument();
//打开一个xml
try
{
xml.Load(path);
//选择匹配 XPath 表达式的第一个 XmlNode
XmlNode Configure = xml.SelectSingleNode("Configure/YAxis");
//读取节点数据
if (Configure != null)
{
XmlNode yaxi = xml.CreateNode(XmlNodeType.Element, "YAxi", null);
//创建No节点
XmlNode no = xml.CreateNode(XmlNodeType.Element, "YAxi", null);
no.InnerText = "";
yaxi.AppendChild(no);
//创建title节点
XmlNode title = xml.CreateNode(XmlNodeType.Element, "title", null);
title.InnerText = "badao";
yaxi.AppendChild(title);
//创建color节点
XmlNode color = xml.CreateNode(XmlNodeType.Element, "color", null);
color.InnerText = "red";
yaxi.AppendChild(color);
//创建min节点
XmlNode min = xml.CreateNode(XmlNodeType.Element, "min", null);
min.InnerText = "-1600";
yaxi.AppendChild(min);
//创建max节点
XmlNode max = xml.CreateNode(XmlNodeType.Element, "max", null);
max.InnerText = "";
yaxi.AppendChild(max);
//将yaxi追加到YAxis
Configure.AppendChild(yaxi);
XmlNodeList nodelist = xml.SelectNodes("Configure/YAxis/YAxi");
xml.Save(path);
MessageBox.Show("nodelist[0]是:" + nodelist[].ChildNodes[].InnerText);
MessageBox.Show("nodelist[1]是:" + nodelist[].ChildNodes[].InnerText);
MessageBox.Show("nodelist[2]是:" + nodelist[].ChildNodes[].InnerText);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
注:
主要通过XmlDocument.CreateNode来创建节点。
第一个参数是节点类型,Element代表是节点。
第二个参数Name属性。
第三个参数是命名空间,这里为null
以上效果就是完整的添加了一条Y轴以及相关属性。
然后新建一个按钮,在点击事件中调用工具类中的方法。
private void simpleButton3_Click(object sender, EventArgs e)
{
ConfigAccessUtils.addNode();
}
效果
添加之前
点击添加按钮后
添加之后
删除节点
工具类中新建方法
public static void removeNode()
{
//获取可执行文件的路径-即bin目录下的debug或者release目录
string context = System.Windows.Forms.Application.StartupPath;
string path = String.Concat(context, @"\config\YAxisSet.xml");
XmlDocument xml = new XmlDocument();
//打开一个xml
try
{
xml.Load(path);
//选择匹配 XPath 表达式的第一个 XmlNode
XmlNode Configure = xml.SelectSingleNode("Configure/YAxis");
//读取节点数据
if (Configure != null)
{
XmlNodeList nodelist = xml.SelectNodes("Configure/YAxis/YAxi");
MessageBox.Show("删除之前count是:" + nodelist.Count);
//将第三个节点删除
Configure.RemoveChild(Configure.ChildNodes[]);
nodelist = xml.SelectNodes("Configure/YAxis/YAxi");
xml.Save(path);
MessageBox.Show("删除之后count是:" + nodelist.Count); }
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
注:
是通过XmlNode.RemoveChild(XmlNode)来实现删除子节点的。
SelectNodes可以获得所有配置的节点。
效果
删除之前
删除之后
Winform中对自定义xml配置文件进行Xml节点的添加与删除的更多相关文章
- Winform中自定义xml配置文件后对节点进行读取与写入
场景 Winform中自定义xml配置文件,并配置获取文件路径: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648 ...
- Winform中在使用VS+svn进行协同开发时添加引用时的相对路径和绝对路径的问题
场景 使用Visual Studio 开发Winform程序,使用SVN进行项目版本管理. 在添加引用时,会出现在A电脑中添加了绝对路径的引用,在B电脑中就会出现找不到 并且将此引用标识为?的状态. ...
- C#中操作xml文件(插入节点、修改、删除)
已知有一个xml文件(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <b ...
- C#中对 XML节点进行添加,删除,查找和删除操作
从网上整理所得 XMLDocument来操作XML比较简单,虽然有时效率不是很高.代码如下 已知有一个XML文件(bookstore.xml)如下: <?xml version="1. ...
- Mybatis 如何自动生成bean dao xml 配置文件 generatorconfig.xml (mysql)
1/自动生成的jar包:mybatis-generator-core-1.3.2.jar 2/generatorconfig.xml文件如: <?xml version="1.0& ...
- Mybatis 如何自动生成bean dao xml 配置文件 generatorconfig.xml (main()方法自动生成更快捷)
最近项目要用到mybatis中间件,中间涉及到要对表结构生成bean,dao,和sqlconfig.xml 所以记录一下学习过程 首先是准备工作,即准备需要的jar包:我们的数据库mysql,所以驱动 ...
- WinForm中使用自定义Tooltip控件
private ToolTip tooltipCtr; 构造函数中: 隐藏默认的Tooltip:this.ShowCellToolTips = false; this.tooltipCtr = new ...
- Winform中实现自定义屏保效果(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建form ...
- Winform中怎样设置ContextMenuStrip右键菜单的选项ToolStripMenuItem添加照片
场景 怎样在Winform程序中添加鼠标右键时使子选项显示图片. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程 ...
随机推荐
- C++实现多组数据合并输出
思路 假设有多组数据,每一组都是按从小到大的顺序输入的,设计如下数据结构 前面一列是每一组数据的首部,后面是真正的数据,首部的定义为: struct head { Node* next; head* ...
- 我的第一个CAD程序
[步骤1]新建项目 启动Visual Studio 2010,然后选择一个C#类库,设置好名称和保存位置,点击[确定] [步骤2]添加引用文件AcMgd.dll和AcDbMgd.dll 首次使用时,[ ...
- python(自用手册)三
第三章 基础 3.1编码初识 ascii 256字母没有中文 一个字节 8位 gbk 中国 中文2字节 16位 英文1字节8位 unicode 万国码 前期 2字节 8位 后期变成4个字节 32位 u ...
- 驰骋工作流引擎ccflow-流转自定义功能使用说明
流转自定义功能使用说明 关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 节点跳转 节点流转自定义 应用背景: 有一些流程在运行过程中是 ...
- ansible模块介绍之ios_facts
一.模块简介 收集运行IOS系统的(此处指思科的ios)的远端设备信息 二.模块参数 auth_pass #特权密码,如果参数authorize=no,则不会检索此密码,如果任务task不指定,则默认 ...
- 台式机主机u盘安装centos7报错及注意事项
利用UltraISO制作U盘启动安装台式机CentOS7系统:流程及报错解决 一.制作U盘 1.首先打开UltraISO软件,尽量下载最新版的 2.点击工具栏中的第二个打开镜像文件工具,如图红色方框标 ...
- python对接常用数据库,快速上手!
python对接常用数据库,快速上手! 很多同学在使用python进行自动化测试的时候,会涉及到数据库数据校验的问题,因为不知道如何在python中如何对数据库,这个时候会一脸茫然,今天在这里给大家汇 ...
- SpringBoot进阶教程(六十一)intellij idea project下建多个module搭建架构(下)
在上一篇文章<SpringBoot进阶教程(六十)intellij idea project下建多个module(上)>中,我们已经介绍了在intellij idea中创建project之 ...
- Spark的安装及配置
title: Spark的安装及配置 summary: 关键词:Hadoop集群环境 Spark scala python ubuntu 安装和配置 date: 2019-5-19 13:56 aut ...
- Egret白鹭开发小游戏之自定义load加载界面
刚接触不久就遇到困难------自定义loading.想和其他获取图片方式一样获取加载界面的图片,结果发现资源还没加载就需要图片,在网上百度了许多,都没有找到正确的方式,通过自己的摸索,终于,,,我成 ...