c# xml 参数读取读取的简单使用
完整使用之测试参数的读取(xml)
保存一个xml文档(如果没有就会生成一个默认的 里面的参数用的是我们默认设置的),之后每次更改里面的某项,然后保存 类似于重新刷新一遍。
这里所用的xml测试参数前面需要加上private如
//测试单号private string testnum = "NO.00001";public string TestNum{get { return this.testnum; }set{this.testnum = value;}}


Program.cs
创建一个Form1对象,因为以后操作 就是用

Form1.cs
也就是在这里使用的
namespace WinFormsApp1
{public partial class Form1 : Form{public ArgCfgXml ArgCfgXmlObj;//创建一个函数 返回值就是设定的参数那个类public ArgValue GetTestPata(){return ArgCfgXmlObj.ArgPtr;//通过 .具体调节值的函数 来改变值}public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){string path = "F:\\log\\test.xml"; ;// Directory.GetCurrentDirectory() + "\\Config\\测试参数.xml";ArgCfgXmlObj = new ArgCfgXml(path);}private void button2_Click(object sender, EventArgs e){Program.mainFrm.GetTestPata().SpeedOperate = double.Parse(speedtextBox1.Text);Program.mainFrm.GetTestPata().TemperatureOperate = double.Parse(temptextBox2.Text);Program.mainFrm.ArgCfgXmlObj.SetPtr();}private void button1_Click(object sender, EventArgs e){speedtextBox1.Text = Program.mainFrm.GetTestPata().SpeedOperate.ToString();temptextBox2.Text = Program.mainFrm.GetTestPata().TemperatureOperate.ToString();}}
}
ArgCfg.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;namespace WinFormsApp1
{public class ArgValue{double speed = 70;//速度初始值public double SpeedOperate{get { return this.speed; }set{this.speed = value;}}double temperature = 20;//温度初始值public double TemperatureOperate{get { return this.temperature; }set{this.temperature = value;}}}public class ArgCfgXml{public ArgValue argvalue;//就是上面那个类 实例化对象是在ArgPtr函数中 然后调用XmlSerializer函数private string xmlFile;//构造函数//作用:初始化时调用 用来配置一遍//如果第一次使用 也就是还没有创建这个文件 此时会使用我们设定的默认参数创建一个文件//如果第二次使用 就不会使用默认参数了 而是使用之后的值,也就是我们可以更改参数值public ArgCfgXml(string _xmlFile){this.xmlFile = _xmlFile;//如果没有读到数据 则为假 此时非假就为真了 就进入语句中;//这也是程序运行第一遍才会做的事情,因为第二遍了 里面已经有数据了 就不会执行下面的操作 if (!XMLDeserialize(_xmlFile)){argvalue = new ArgValue(); //实例化一个装满参数的对象XmlSerializer(_xmlFile);//将设定的初始值写入 XMLDeserialize(_xmlFile);//取出值 方便使用}}//函数的作用:获取/修改参数值 并保存(覆写的)//返回值为ArgValue这个类的函数public ArgValue ArgPtr{get { return this.argvalue; }//得到一整个的数据 然后通过 .某个得到具体的值set{this.argvalue = value;XmlSerializer(xmlFile);//保存一遍}}//作用:保存结果,且更新现在的对象public void SetPtr(){//先保存 然后将保存好的数据再赋值给 argvalueXmlSerializer(this.xmlFile);XMLDeserialize(this.xmlFile);}public bool XmlSerializer(string _xmlSerializerFile){try{if (argvalue == null)argvalue = new ArgValue();// Insert code to set properties and fields of the object.// XmlSerializer 类,它可以序列化的 XML 文档,将指定类型的对象反序列化 XML文档化为指定类型的对象。XmlSerializer mySerializer = new XmlSerializer(typeof(ArgValue));//using System.Xml.Serialization;// To write to a file, create a StreamWriter object.StreamWriter myWriter = new StreamWriter(_xmlSerializerFile);//默认就是覆写的 如果不想覆写 就加上truemySerializer.Serialize(myWriter, argvalue);//序列化后写入myWriter.Close();//将打开的文件关闭 不然后面就无法打开 也就无法写入和读取了}catch (Exception ee){return false;}return true;}public bool XMLDeserialize(string _xmlDeserializeFile){try{XmlSerializer mySerializer = new XmlSerializer(typeof(ArgValue));// To read the file, create a FileStream.using (FileStream myFileStream = new FileStream(_xmlDeserializeFile, FileMode.Open)){// Call the Deserialize method and cast to the object type.argvalue = (ArgValue)mySerializer.Deserialize(myFileStream);}// Call the Deserialize method and cast to the object type.}catch{return false;}return true;}}}
相关文章:
c# xml 参数读取读取的简单使用
完整使用之测试参数的读取(xml) 保存一个xml文档(如果没有就会生成一个默认的 里面的参数用的是我们默认设置的),之后每次更改里面的某项,然后保存 类似于重新刷新一遍。 这里所用的xml测试参数前面需要加…...
gym原来是这样用的
今天down了一个深度强化学习的程序,但是试来试去总是跑不成功,第一句就出问题了 env gym.make("clusterEnv-v0").unwrapped总是报没有该环境,思想半天,然后发现这是自己写的环境,需要到gym中去注册才能使用…...
百度SEO优化技巧与布局(提升网站排名的5种有效方法)
网站SEO关键词介绍: SEO(SearchEngineOptimization)即搜索引擎优化,是通过一系列技术手段和策略,让网站在搜索引擎中获得更好的排名和流量。关键词是SEO优化的重要组成部分,通过关键词布局合理,…...
文案配音软件哪个好?(适合新手使用)
随着短视频的逐渐普及,视频博主越来越多,所以很多朋友也期待成为视频博主。但是,如果你想成为一个有名的视频博主,你需要在很多层面上比别人做得更好。其中之一就是视频文字的配音。相信大部分人都没有配音的技巧,所以…...
excel映射xml方法
excel映射xml方法 创建xml模板 新建一个文本文件,编写模板并命名为xxx.xml <?xml version"1.0" encoding"UTF-8"?> <root><item ID""><surname></surname><man></man><woman>&…...
2023/10/15
文章目录 1.uniapp之Vue2升Vue3值得注意的几点1.1 页面生命周期的使用1.2 引入资源的方式 2. 浏览器本地存储之Cookie和webStorage3. CSS变量 var()的用法4. CSS之实现线性渐变背景5. 图片无法和文字对齐的正确解决方案6. 使用正则处理接口返回的富文本内的图片7. transition实…...
Linux系统中如何开启和配置OpenGauss数据库的远程连接
文章目录 前言1. Linux 安装 openGauss2. Linux 安装cpolar3. 创建openGauss主节点端口号公网地址4. 远程连接openGauss5. 固定连接TCP公网地址6. 固定地址连接测试 前言 openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合…...
【Docker】Docker网络及容器间通信详解
目录 背景 默认网络 1、bridge 网络模式 2、host 网络模式 3、none 网络模式 4、container 网络模式 自定义网络 容器间网络通信 IP通信 Docker DNS server Joined容器 前言 本实验通过docker DNS server和joined 容器两种方法实现Docker容器间的通信。Docker容器间…...
TikTok国际版 使用特网科技Bluestacks模拟器安装方法
特网科技Bluestacks模拟器主机 桌面自带Bluestacks模拟器 TikTok国际版Bluestacks模拟器搜索tiktot 登录google应用商店-安装TikTok 安装过程可能需要3-5分钟不等-配置过低可能会导致安装失败,建议升级更高内存。 安装完成-打开 安装成功APP-我的游戏查看 打开国际版…...
【Hello Algorithm】暴力递归到动态规划(四)
动态规划的数组压缩技巧 - 机器人走格子问题 题目是leetcode62题目原题 表示如下 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中…...
arm day 8
arm 写一段按键中断代码 main.c #include "uart.h" #include "key_it.h" int main() {char c;char *s;uart4_init();//串口初始化//中断初始化key_it_config();while(1){//保证主程序不结束}return 0; } src/key_it.c #include"key_it.h"voi…...
k8s-14 存储之volumes
Volumes配置管理 容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失因为容器会以干净的状态重建。其次,当在一个 Pod 中…...
二分图博弈
一张二分图,Alice和Bob每人走一步,不能重复走,谁不能走谁输 结论:若存在最大匹配不包含初始点,则Bob赢,否则Alice赢 以上图为例,红色为最大匹配。 首先对于Alice第一步只能走黑边。而Alice无论…...
【C++】C++11—— 包装器
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C学习 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:【C】C11…...
LED显示屏高刷新率和低刷新率有什么区别
LED显示屏的刷新率是指图像在LED显示屏上更新的速度,也即屏幕上的图像每秒钟出现的次数,它的单位是赫兹(Hz)。LED显示屏的刷新率越高,图像闪烁感就越小,稳定性也就越高,换言之对视力的保护也越好…...
国际伦敦银点差费值得吗?
伦敦银是国际轨技术属市场上广受追捧的白银保证金交易品种,具有交易时长、交易制度灵活、资金利用率高等诸多的优点。 国际伦敦银的优势主要来自它所实行的是保证金交易制度。目前香港平台一般执行的保证金比例标准是2%,以目前22美元/盎司左右的白银价格…...
常见的作物模型应用技巧!DSSAT模型、APSIM模型、WOFOST模型与PCSE模型等应用
①最新DSSAT作物模型建模方法及应用 DSSAT模型内核算法是基于Fortran语言开发的,软件界面是基于C进行开发。了解和熟悉DSSAT模型的关键算法和软件的操作是学习DSSAT模型的基础。此外,想要成为一名优秀的作物模型使用者与科研团队不可或缺的人才ÿ…...
2023年中国超硬材料制品分析及超硬刀具市场规模分析[图]
超硬材料是指硬度特别高的材料,可分为天然以及人造两种,前者主要包括天然的钻石(金刚石)、黑钻石,后者则包括人造金刚石、立方氮化硼。 超硬材料制品分类 资料来源:共研产业咨询(共研网&#x…...
使用React、Express实现一个问卷发布/收集系统
1. 设置项目结构 questionnaire-system/client/ // 前端应用src/components/ // React组件pages/ // 页面App.jsindex.jsserver/ // 后端服务routes/ // 路由models/ // 数据模型app.jspackage.json2. 启动前端应用…...
DDD之上下文映射图(Context Mapping)
领域驱动设计系列文章,点击上方合集↑ 1. 开头 在DDD中,限界上下文与限界上下文之间需要相互集成,这种集成关系在DDD中称为上下文映射(Context Mapping),也就是子域与子域之间的集成关系。 所以首先我们…...
手把手教你用Dockerfile为Ubuntu 18.04镜像定制Python+OpenCV开发环境
从零构建PythonOpenCV的Docker开发环境:最佳实践指南 在计算机视觉和机器学习项目中,一个标准化、可复现的开发环境至关重要。Docker作为容器化技术的代表,能够完美解决"在我机器上能跑"的经典难题。本文将手把手教你如何基于Ubunt…...
李慕婉-仙逆-造相Z-Turbo在C语言项目中的集成方案
李慕婉-仙逆-造相Z-Turbo在C语言项目中的集成方案 将AI图像生成能力无缝集成到C语言项目中,为传统应用注入智能创作活力 1. 为什么要在C项目中集成图像生成能力 在当今的软件开发领域,C语言仍然是系统级编程、嵌入式设备和性能敏感应用的首选语言。虽然…...
家常饺子·每家不一样
你家的馅,和我家的不一样 1. 食材清单(家家都有) 食材分类具体材料分量备注皮面粉3碗买现成的饺子皮也行水适量和面用馅猪肉馅1斤肥瘦三七开白菜或韭菜1把看你家爱吃什么姜末一点点葱花一小把盐1勺生抽1勺香油几滴 2. 核心步骤:…...
多模态数据挖掘前沿:生物医学与情感分析领域论文深度解析
多模态数据挖掘前沿:生物医学与情感分析领域论文深度解析 在人工智能与大数据技术飞速发展的当下,多模态数据因能更全面、立体地刻画研究对象,已成为科研领域的核心研究方向。本文将深度解析两篇聚焦多模态数据挖掘的重磅论文——《多模态生物…...
在Windows和RV1126上部署ONNX肺部分割模型:一份OpenCV DNN与RKNN的完整对比实践
跨平台肺部分割模型部署实战:OpenCV DNN与RKNN技术选型指南 当医疗影像分析遇上边缘计算,开发者们常常面临一个关键抉择:如何在保证精度的前提下,将训练好的深度学习模型高效部署到不同计算平台?本文将以肺部分割模型为…...
避坑指南:Python操作Word文档最常见的5个错误(python-docx实战心得)
Python-docx实战避坑指南:5个高频错误与解决方案 在自动化办公场景中,Python操作Word文档的需求日益增长,而python-docx库作为主流工具,其易用性背后隐藏着不少"暗礁"。许多开发者在基础教程阶段一帆风顺,却…...
脉冲雷达系统仿真:从理论建模到Matlab代码实现
1. 脉冲雷达系统仿真入门指南 第一次接触雷达系统仿真时,我和大多数初学者一样,面对满屏的数学公式和专业术语完全摸不着头脑。直到把实验室那台老式示波器玩坏了三次之后,我才真正理解脉冲雷达仿真的核心逻辑——它本质上就是在计算机里搭建…...
Swin2SR惊艳效果展示:低清草稿图秒变4K高清作品集
Swin2SR惊艳效果展示:低清草稿图秒变4K高清作品集 你有没有遇到过这种情况?一张特别有感觉的AI生成图,可惜分辨率太低,放大后全是马赛克;一张珍贵的旧照片,像素模糊得看不清人脸;或者从网上找到…...
手把手教你用XCVU3P和FMC+接口搭建高性能PCIe载板(附原理图下载)
基于XCVU3P与FMC的高性能PCIe载板开发实战指南 在当今高速数据处理领域,FPGA因其并行计算能力和可重构特性成为关键器件。Xilinx UltraScale系列的XCVU3P芯片配合FMC扩展接口,为开发者提供了强大的硬件加速平台。本文将深入解析如何从零开始构建一个支持…...
计算机毕设 java 基于 Android 的医疗预约系统的设计与实现 SpringBoot 安卓智能医疗预约挂号平台 JavaAndroid 医患预约诊疗管理系统
计算机毕设 java 基于 Android 的医疗预约系统的设计与实现 53m069,末尾的数字和英文也要加上 (配套有源码 程序 mysql 数据库 论文)本套源码可以先看具体功能演示视频领取,文末有联 xi 可分享随着信息技术的飞速发展和医疗需求的…...
