欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Winform中自定义xml配置文件后对节点进行读取与写入

程序员文章站 2022-07-01 13:54:57
场景 Winform中自定义xml配置文件,并配置获取文件路径: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648 上面已经实现自定义配置文件的配置和读取的基础上,继续对配置文件进行读取与写入。 xml配置文件如下 ......

场景

winform中自定义xml配置文件,并配置获取文件路径:

https://blog.csdn.net/badao_liumang_qizhi/article/details/100522648

上面已经实现自定义配置文件的配置和读取的基础上,继续对配置文件进行读取与写入。

xml配置文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<configure>
    <!--y轴数量 默认是1-->
    <yconut>1</yconut>
    <!--y轴集合-->
    <yaxis>
        <!--第一条y轴-->
        <yaxi>
            <num>1</num>
            <title>温度</title>
            <color>black</color>
            <min>-1500</min>
            <max>1500</max>
        </yaxi>
        <!--第二条y轴-->
        <yaxi>
            <num>2</num>
            <title>电压</title>
            <color>black</color>
            <min>-1500</min>
            <max>1500</max>
        </yaxi>
    </yaxis>
   
</configure>

 

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

大量编程视频教程:
 

实现

配置文件读取

添加一个工具类的方法

 public static void readconfig()
        {
            //获取可执行文件的路径-即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/yaxi");
                //读取节点数据
                if (configure !=null)
                {
                    string portname = configure.selectsinglenode("title").innertext;
                    messagebox.show("第一个节点名是:" + portname);
                }
            }
            catch (exception ex)
            {
                console.writeline(ex.message);
            }
         }

 

然后添加一个按钮,在按钮的点击事件中调用此方法

 private void simplebutton1_click(object sender, eventargs e)
        {
            configaccessutils.readconfig();
        }

 

效果

Winform中自定义xml配置文件后对节点进行读取与写入

 

 

写入配置文件

同样在工具类中新增方法

 

public static void writeconfig()
        {
            //获取可执行文件的路径
            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/yaxi");
                //读取节点数据
                if (configure != null)
                {
                    string portname = configure.selectsinglenode("title").innertext;
                    messagebox.show("写入之前节点名是:" + portname);
                }
                //写入节点数据
                configure.selectsinglenode("title").innertext = "霸道";
                string afterwrite = configure.selectsinglenode("title").innertext;
                xml.save(path);
                messagebox.show("写入之后节点名是:" + afterwrite);
               
            }
            catch (exception ex)
            {
                console.writeline(ex.message);
            }
        }

 

效果

写入之前

Winform中自定义xml配置文件后对节点进行读取与写入

 

 

写入之后

Winform中自定义xml配置文件后对节点进行读取与写入

 

 

注:

进行修改配置文件的内容,真正被修改的是bin下的debug目录下的配置文件。