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

完整使用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.rhkb.cn/news/158609.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spark读取hive表字段,区分大小写问题

背景 spark任务读取hive表&#xff0c;查询字段为小写&#xff0c;但Hive表字段为大写&#xff0c;无法读取数据 问题错误: 如何解决呢&#xff1f; In version 2.3 and earlier, when reading from a Parquet data source table, Spark always returns null for any column …

网络工程师知识点3

41、各个路由协议&#xff0c;在华为设备中的优先级&#xff1f; 直连路由 0 OSPF 10 静态 60 42、OSPF&#xff1a;开放式最短路径优先路由协议&#xff0c;使用SPF算法发现和计算路由 OSPF的优点&#xff1a; 1、收敛速度快&#xff0c;无路由自环&#xff0c;适用于大型网络…

linux usb驱动移植(1)

1. USB总线 1.1 usb总线定义 在linux 设备模型中&#xff0c;总线由bus_type 结构表示&#xff0c;我们所用的 I2C、SPI、USB 都是用这个结构体来定义的。该结构体定义在 include/linux/device.h文件中&#xff1a; struct bus_type {const char *name;const c…

【计算机组成体系结构】电路基本原理与加法器设计

一、算术逻辑单元—ALU 1.基本的逻辑运算&#xff08;1bit的运算&#xff09; 基本逻辑运算分为&#xff0c;与、或、非。大家应该很熟悉了&#xff0c;与&#xff1a;全1为1&#xff0c;否则为0。或&#xff1a;全0为0&#xff0c;否则为1。非&#xff1a;取反。三个基本的逻…

Git纯操作版 项目添加和提交、SSH keys添加、远程仓库控制、冲突解决、IDEA连接使用

Git 文章目录 Git项目简单克隆通用操作添加和提交回滚分支变基分支优选 远程项目推送认证抓取、拉取和冲突解决 IEDA类软件连接 最近学原理学的快头秃了&#xff0c;特此想出点不讲原理的纯操作版&#xff0c;不过还是放个图吧 项目简单克隆 git在本人日常中最重要的功能还是…

idea 启动出现 Failed to create JVM JVM Path

错误 idea 启动出现如下图情况 Error launching IDEA If you already a 64-bit JDK installed, define a JAVA_HOME variable in Computer > System Properties> System Settings > Environment Vanables. Failed to create JVM. JVM Path: D:\Program Files\JetB…

数字技术助力智慧公厕,让公厕变身为全新创新应用

在如今数字化的时代&#xff0c;数字技术的集成应用已经渗透到了生活的方方面面。其中一个令人瞩目的领域就是智慧公厕。以前只是简单的厕所&#xff0c;如今借助数字技术的力量&#xff0c;智慧公厕变得功能强大、智能高效。接下来&#xff0c;我们将以智慧公厕源头领航厂家广…

Ceph运维笔记

Ceph运维笔记 一、基本操作 ceph osd tree //查看所有osd情况 其中里面的weight就是CRUSH算法要使用的weight&#xff0c;越大代表之后PG选择该osd的概率就越大 ceph -s //查看整体ceph情况 health_ok才是正常的 ceph osd out osd.1 //将osd.1踢出集群 ceph osd i…

【互联网】实习一个月感受

说明&#xff1a;岗位&#xff1a;golang开发实习生&#xff0c;实习已经一个月多点了&#xff0c;这篇文章谈谈实习应该注意些什么点&#xff0c;以及该做些什么事情 说实话这不是我第一次实习了&#xff0c;但是感受很深 注意点&#xff1a; 1、没事找话说 比如中午和同事吃…

社区投稿| 以安全视角,深度剖析 Sui Staking 与 LSD

本篇技术研报由 MoveBit 研究团队的 Jason 撰写 #1 Sui Staking 介绍 1.1 Sui 网络概述 Sui 网络由一组独立的验证者运行&#xff0c;每个验证者在自己的机器或集群上运行独立的 Sui 软件实例。 Sui 采用委托权益证明&#xff08;DPoS&#xff09;来确定哪些验证者参与网络…

快速排序全面详解

目录 1 基本思想 2 排序步骤 3 代码实现 3.1 区间划分算法&#xff08;hoare初始版本&#xff09;&#xff1a; 3.2 主框架 4 区间划分算法 4.1 hoare法 4.2 挖坑法 4.3 前后指针法 5 快排优化 5.1 取key方面的优化 5.2 递归方面的优化 5.3 区间划分方面的优化 6…

微信小程序入门讲解【超详细】

一. 微信小程序简介 1.1 什么是小程序 2017年度百度百科十大热词之一 微信小程序&#xff08;wei xin xiao cheng xu&#xff09;&#xff0c;简称小程序&#xff0c;英文名Mini Program&#xff0c;是一种不需要下载安装即可使用的应用( 张小龙对其的定义是无需安装&#xf…

【C++进阶】:特殊类的设计

特殊类的设计 一.设计一个类不能被拷贝二.设计一个类只能在堆上创建对象三.设计一个类只能在栈上创建4.设计一个类不能被继承五.设计一个类只能有一个对象(单例模式) 一.设计一个类不能被拷贝 拷贝只会放生在两个场景中&#xff1a;拷贝构造函数以及赋值运算符重载&#xff0c…

《动手学深度学习 Pytorch版》 8.5 循环神经网络的从零开始实现

%matplotlib inline import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lbatch_size, num_steps 32, 35 train_iter, vocab d2l.load_data_time_machine(batch_size, num_steps) # 仍然使用时间机器数据集8.…

微信小程序入门级

目录 一.什么是小程序&#xff1f; 二.小程序可以干什么&#xff1f; 三.入门使用 3.1. 注册 3.2. 安装 3.3.创建项目 3.4.项目结构 3.5.应用 好啦今天就到这里了&#xff0c;希望能帮到你哦&#xff01;&#xff01;&#xff01; 一.什么是小程序&#xff1f; 微信小程…

PyTorch 深度学习之卷积神经网络(基础篇)Basic CNN(九)

0. Revision: Fully connected Neural Network 全连接 1. Convolution Neural Network 保留空间信息 1.1 Convolution Convolution-Single Input Channel 单通道 数乘 3 input Channels 3通道 N input Channels N input Channels and M output channel M 个卷积核 1.2 conv…

npm安装依赖报错npm ERR! code ENOTFOUND npm ERR! errno ENOTFOUND、npm run dev报错记录

npm安装依赖报错npm ERR! code ENOTFOUND npm ERR! errno ENOTFOUND_得我所得&#xff0c;爱我所爱的博客-CSDN博客npm安装依赖报错今天在学习webpack的时候&#xff0c;在使用npm install来安装一个局部的webpack时候&#xff0c;报出一下错误:npm ERR! code ENOTFOUNDnpm ERR…

Python批量测试IP端口GUI程序(Tkinter)

一、实现样式 批量IP与端口中间用“,”分割&#xff0c;点击Telnet进行测试&#xff0c;前提是你电脑安装了telnet客户端&#xff0c;Clear按钮用来清空文本框。 二、核心点 1、使用Tkinter来制作桌面GUI页面 2、使用telnetlib模块测试telnet端口 三、困难点 1、测试结果…

15.项目讲解之前端页面的实现

项目讲解之前端页面的实现 本项目前端使用HBuilerX软件编写HBuilderX下载安装配置一键直达&#xff0c; uniapp框架uniapp官网&#xff0c; 使用Element-ui组件Element-ui组件网址进行前端页面的完成。 前端项目下载地址 前端项目 前端项目展示 首页 首页展示 echarts实现…

前端页面布局之【响应式布局】

目录 &#x1f31f;前言&#x1f31f;优点&#x1f31f;缺点&#x1f31f;media兼容性&#x1f31f;利用CSS3-Media Query实现响应式布局&#x1f31f;常见的媒体类型&#x1f31f;常见的操作符&#x1f31f;属性值&#x1f31f;设备检测&#x1f31f;响应式阈值选取&#x1f3…