C#根据类的public属性加载类中对应字段的XML

<?xml version="1.0" encoding="utf-8"?>
<root>
  	<UserLogin ID="0" UserName="" UserPassWord="" Level="1" PowerName="默认用户" PowerID="0" Remark="" IsEnabled="True"/>
    <UserLogin ID="1" UserName="" UserPassWord="123" Level="2" PowerName="管理员" PowerID="0" Remark="" IsEnabled="True"/>
    <UserLogin ID="2" UserName="Administrator" UserPassWord="123" Level="3" PowerName="超级管理员" PowerID="0" Remark="" IsEnabled="True"/>
  </root>
public partial class UserLogin
{
   
    private int id;
  
    public int ID
    {
        get=>id; set=>id = value;
    }
    private string userName;
  
    public string UserName
    {
        get => userName;
        set => userName=value;
    }
    private string userPassWord;

   
    public string UserPassWord
    {
        get => userPassWord;
        set =>userPassWord=value ;
    }
    private int _level;

   
    public int Level
    {
        get => _level;
        set => _level=value;
    }
    private string powerName;
    public string PowerName
    {
        get => powerName;
        set => powerName=value;
    }
    private int powerID;
    public int PowerID
    {
        get => powerID;
        set => powerID=value;
    }
   
    private string remark;

    
    public string Remark
    {
        get => remark;
        set => remark=value;
    }
    private bool isEnabled;

    
    public bool IsEnabled
    {
        get => isEnabled;
        set => isEnabled=value;
    }
}
public List<UserLogin> GetUserInfos()
{
	 xmlPath = Path.Combine("带.xml后缀的xml文件路径");
	 doc = new XmlDocument();
	 doc.Load(xmlPath);
	 root = doc.SelectSingleNode("root");
	  List<UserLogin> result = new List<UserLogin>();//在这个函数中将UserLogin改成T可以用作泛型类的xml统一加载
	 foreach (XmlElement xl in root.ChildNodes)
	 {
	     UserLogin item = new UserLogin();
	     var properties = typeof(UserLogin).GetProperties();
	     foreach (PropertyInfo pi in properties)
	     {
	         var attribute = xl.GetAttribute(pi.Name);
	         if (attribute != null)
	         {
	             var value = Convert.ChangeType(attribute, pi.PropertyType);
	             //给item的属性赋值
	             pi.SetValue(item, value);
	         }
	     }
	     result.Add(item);
	
	 }
	 return result;
}

可用于泛型类的xml数据加载

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

离子液体(ILs)在电化学领域应用前景广阔 海外企业占据全球市场主导地位

离子液体&#xff08;ILs&#xff09;在电化学领域应用前景广阔 海外企业占据全球市场主导地位 离子液体&#xff08;ILs&#xff09;又称离子性液体&#xff0c;指在室温或接近室温条件下&#xff0c;完全由阴阳离子组成的液态盐。与传统有机溶剂相比&#xff0c;离子液体具有…

短视频电商源码的优势及软件架构解析

短视频电商源码是目前电商行业中非常火热的一个新兴领域&#xff0c;它通过短视频内容和电商商品的结合&#xff0c;为用户提供了一种新的购物体验。下面将介绍短视频电商源码的优势以及软件架构。 首先&#xff0c;短视频电商源码具有以下几个优势&#xff1a; 1、创新的购物体…

观众为何偏爱采用多媒体互动技术的博物馆展览?

昔日踏入博物馆&#xff0c;映入眼帘的尽是静谧的展柜与沉默不语的展品&#xff0c;它们静静地诉说着过往的故事&#xff0c;却与参观者之间隔着一道无形的墙。但如今&#xff0c;想象力跨越了界限&#xff0c;多媒体互动技术如同魔法般降临&#xff0c;赋予这些历史遗珍以新的…

进程以及多线程编程

文章目录 什么是进程/任务&#xff08;Process/Task&#xff09;进程控制块抽象(PCB Process Control Block)PID(进程的 id /标识符)内存指针文件描述符表状态优先级上下文记账信息 线程(Thread)进程和线程的区别线程的优点: 多线程代码代码示例(继承Thread类的方式)sleep(休眠…

k8s部署单机版xxl-job

一、初始化数据库 https://github.com/xuxueli/xxl-job/blob/2.3.1/doc/db/tables_xxl_job.sql # # XXL-JOB v2.3.1 # Copyright (c) 2015-present, xuxueli.CREATE database if NOT EXISTS xxl_job default character set utf8mb4 collate utf8mb4_unicode_ci; use xxl_job;…

数据库安全:MySQL权限体系划分与实战操作

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 这一章节我们需…

第7章 Redis的噩梦:阻塞

文章目录 前言1 发现阻塞2.内在原因2.1API或数据结构使用不合理2.1.1如何发现慢查询2.1.2.如何发现大对象 2.2 CPU饱和2.3 持久化阻塞2.3.1fork阻塞2.3.2.AOF刷盘阻塞2.3.3.HugePage写操作阻塞 3 外在原因3.1CPU竞争3.2 内存交换3.3网络问题3.3.1连接拒绝 前言 Redis是典型的单…

【Altium】AD-PCB界面抬头显示设置

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 PCB设计界面中抬头显示设置的方法 2、 问题场景 PCB设计界面中左上角有一个抬头显示悬浮窗口&#xff0c;这个窗口可以显示坐标&#xff0c;选中PCB中某个对象后还能显示它的具体信息。有用户不喜欢这个窗口&#x…

漆包线行业生产管理革新:万界星空科技MES系统解决方案

一、引言 在科技日新月异的今天&#xff0c;万界星空科技凭借其在智能制造领域的深厚积累&#xff0c;为漆包线行业量身打造了一套先进的生产管理执行系统&#xff08;MES&#xff09;解决方案。随着市场竞争的加剧&#xff0c;漆包线作为电气设备的核心材料&#xff0c;其生产…

Android手机删除的照片怎么找回来?3个详细教程,有效恢复

在这个充满科技魅力的时代&#xff0c;手机它不仅是我们的通讯工具&#xff0c;更是我们的娱乐中心、信息库和摄影工作室。然而&#xff0c;有时候&#xff0c;我们在享受科技带来的便利的同时&#xff0c;也会遭遇一些小小的困扰。 比如&#xff0c;你可能会在一次手抖中删除…

AI需求强劲推动韩国六月芯片出口创历史新高

据路透社7月1日报道&#xff0c;韩国产业通商资源部最新数据显示&#xff0c;韩国出口连续第九个月增长&#xff0c;六月份海外对芯片的持续且增强的需求将芯片出口额推至历史高位。这一出口增长势头同时带动韩国制造业采购经理指数&#xff08;PMI&#xff09;攀升至两年多以来…

《Linux开发笔记》C语言编译

C语言编译过程 编译过程主要分为四步&#xff1a;预处理、编译、汇编、链接 预处理&#xff1a;主要用于查找头文件、展开宏 编译&#xff1a;把.i文件编译成.s文件 汇编&#xff1a;把.s文件汇编为.o文件 链接&#xff1a;把多个.o文件链接成一个app 以上四个步骤主要由3个命…

java 程序、进程 、线程,cpu,并行、并发、启动线程两种方式

1、重写 Thread 父类方法 后创建实例调用 start 方法 2、将创建自实现 Runable 接口后的实例 作为参数传递给 Thread 的构造方法 两个条件同时存在&#xff0c;那个生效&#xff1f; new Thread(/* condition 1 */threadTest2) {Override/* condition 2 */public void run() {T…

【计算机毕业设计】基于Springboot的大学生就业招聘系统【源码+lw+部署文档】

包含论文源码的压缩包较大&#xff0c;请私信或者加我的绿色小软件获取 免责声明&#xff1a;资料部分来源于合法的互联网渠道收集和整理&#xff0c;部分自己学习积累成果&#xff0c;供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者…

绝区零 Mac 下载安装详细教程(MacOS IPA 砸壳包 playCover 完美运行)

绝区零 7.4 号开始公测&#xff0c;但刚刚就可以开始下载了&#xff0c;我也是第一时间就迫不及待的安装到了我的 Mac 电脑上&#xff0c;感兴趣的朋友可以跟我一起安装试试 我这里是通过 playCover 的形式在 Mac 上安装运行的&#xff0c;根据之前原神的经验所以这次还是同样…

CTFHUB-SSRF-Redis协议

本题需要用到&#xff1a; 在线编码网址&#xff1a;https://icyberchef.com/ gopherus工具&#xff1a;https://mp.csdn.net/mp_blog/creation/editor/139440201 开启题目&#xff0c;页面空白 和上一个题FastCGI协议一样&#xff0c;还是使用gopherus攻击redis ./gopheru…

H616连接摄像头

&#xff08;1&#xff09;首先将USB摄像头连接到OrangePi开发板的USB接口 &#xff08;2&#xff09;通过lsmod命令查看是否加载了uvcvideo模块 lsmod | grep video &#xff08;3&#xff09;通过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息为/dev/video0 sudo apt u…

数字化精益生产系统--SRM供应商关系管理

SRM供应商关系管理&#xff0c;全称为Supplier Relationship Management&#xff08;供应商关系管理&#xff09;系统&#xff0c;是一种专门用于管理采购供应链和供应商关系的软件系统。该系统通过集成各个环节的采购活动&#xff0c;帮助企业实现采购流程的自动化、标准化和优…

【数智化案例展】苏商银行——全场景数据统一极速多维即席分析底座建设

‍ 镜舟科技案例 本项目案例由镜舟科技投递并参与数据猿与上海大数据联盟联合推出的《2024中国数智化转型升级创新服务企业》榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 在 2017 年建行之初&#xff0c;江苏苏商银行股份有限公司&#xff08;以下简称“…

【软件测试】单元测试、系统测试、集成测试详解

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、单元测试的概念 单元测试是对软件基本组成单元进行的测试&#xff0c;如函数或一个类的方法…