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.pswp.cn/web/38570.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38570.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38570.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java八股文面試題

Java八股文面試題通常涵蓋了Java語言的基礎知識、高級特性、框架應用、數據庫操作等多個方面。以下是一些常見的Java面試題及其詳細回答&#xff0c;按照不同的主題進行分類&#xff1a; 一、Java基礎 面向對象的特征有哪些&#xff1f; 抽象&#xff1a;忽略與當前目標無關的…

2.2.4 C#中顯示控件BDPictureBox 的實現----ROI交互

2.2.4 C#中顯示控件BDPictureBox 的實現----ROI交互 1 界面效果 在設定模式下&#xff0c;可以進行ROI 框的拖動&#xff0c;這里以Rect1舉例說明 2 增加ROI類定義 /// <summary> /// ROI_single /// 用于描述圖片感興趣區域 /// type: 0:Rect1;1:Rect2;2:Circle ;3:…

C++ //練習 14.31 我們的StrBlobPtr類沒有定義拷貝構造函數、賦值運算符及析構函數,為什么?

C Primer&#xff08;第5版&#xff09; 練習 14.31 練習 14.31 我們的StrBlobPtr類沒有定義拷貝構造函數、賦值運算符及析構函數&#xff0c;為什么&#xff1f; 環境&#xff1a;Linux Ubuntu&#xff08;云服務器&#xff09; 工具&#xff1a;vim 解釋&#xff1a; 因為…

工業路由器與家用路由器的區別

在現代網絡環境中&#xff0c;路由器扮演著至關重要的角色。無論是在家庭網絡還是在工業網絡&#xff0c;選擇合適的路由器都至關重要。本文將從多個角度&#xff0c;對工業路由器與家用路由器進行詳細比較&#xff0c;幫助您更好地理解二者的區別。 1、安全性 工業路由器&…

大模型應用開發實戰基礎

大模型應用開發實戰基礎 1. 背景 大模型如日中天&#xff0c;各行各業都受它影響&#xff0c;但是作為程序員&#xff0c;除了讓它翻譯代碼不知道用它干什么&#xff0c;就像是拿著錘子的木匠&#xff0c;找不到釘子在哪。一邊聽著別人說2024是AI元年&#xff0c;一邊又不知所…

PostgreSQL的系統視圖pg_stat_database_conflicts

PostgreSQL的系統視圖pg_stat_database_conflicts 在 PostgreSQL 中&#xff0c; pg_stat_database_conflicts 是一個視圖&#xff0c;用于監控并發操作導致的數據庫沖突情況。了解和監控這些沖突可以幫助數據庫管理員調優系統&#xff0c;以更好地處理并發事務。 pg_stat_da…

中控室監控臺在水處理行業的作用

隨著工業化和城市化的快速推進&#xff0c;水處理行業的重要性日益凸顯。作為確保水質安全、提高水資源利用效率的關鍵環節&#xff0c;水處理廠需要高效、穩定地運行。在這個過程中&#xff0c;中控室監控臺發揮著不可或缺的作用。本文將從以下幾個方面&#xff0c;詳細闡述中…

fyne的MultiLineEntry設置大小

MultiLineEntry設置大小 在另一篇文章講過&#xff0c;放入border布局中&#xff0c;可以最大化MultiLineEntry。 這里再介紹另一種方法:SetMinRowsVisible() func (e *Entry) SetMinRowsVisible(count int) {e.multiLineRows counte.Refresh() }SetMinRowsVisible強制mult…

(域滲透提權)CVE-2020-1472 NetLogon權限提升漏洞

目錄 漏洞簡介 漏洞檢測 漏洞利用 使用腳本進行利用 使用Mimikatz進行利用 恢復用戶哈希 漏洞簡介 CVE-2020-1472是繼永恒之藍漏洞之后又一個好用的內網提權漏洞&#xff0c;影響Windows Server2008R2至2019的版本。只要攻擊者能夠訪問到目標域控并且知道域控計算機名即…

九淺一深Jemalloc5.3.0 -- ④淺*配置

目前市面上有不少分析Jemalloc老版本的博文&#xff0c;但最新版本5.3.0卻少之又少。而且5.3.0的架構與5之前的版本有較大不同&#xff0c;本著“與時俱進”、“由淺入深”的宗旨&#xff0c;我將逐步分析最新release版本Jemalloc5.3.0的實現。 另外&#xff0c;單講實現代碼是…

ShareSDK iOS端如何實現小紅書分享

下載SDK 請登陸官網 &#xff0c;找到SDK下載&#xff0c;勾選需要的平臺下載 導入SDK &#xff08;1&#xff09;離線導入將上述下載到的SDK&#xff0c;直接將整個SDK資源文件拖進項目里&#xff0c;如下圖&#xff1a; 并且勾選以下3個選項 在點擊Finish&#xff0c;…

實時跟蹤并顯示Docker容器的最新日志

可以用以下命令實時跟蹤并顯示Docker容器的最新日志 例&#xff1a; 這條命令 docker logs --tail 200 -f docker1 的作用是&#xff1a; docker logs: 這部分指示要查看 Docker 容器的日志。--tail 200: 這個選項指定只顯示最后的200行日志。這意味著你將只看到容器最近生…

JavaSE簡易版掃雷小游戲

描述&#xff1a;用戶輸入二維雷區的高和寬&#xff0c;輸入確定地雷數&#xff0c;隨機在地雷區生成地雷。用戶輸入橫豎坐標進行挖雷&#xff0c;挖到地雷游戲以失敗結束&#xff0c;并讓用戶選擇是否再次游戲&#xff1b;沒挖到雷&#xff0c;顯示該區域8個方向地雷數。如果8…

安徽大學學報-哲學社會科學版

《安徽大學學報》&#xff08;哲學社會科學版&#xff09;簡介 安徽大學學報&#xff08;哲學社會科學版&#xff09;簡要信息 刊 號 CN 34—1040/C ISSN 1001—5019 主 編 張治棟 地 址 安徽省合肥市肥西路3號 郵 編 230039 電 話 &#xff08;0551&#xff09;6…

Spring MVC的高級功能——異常處理(三)異常處理注解

一、ControllerAdvice注解的作用 從Spring 3.2開始&#xff0c;Spring 提供了一個新注解ControllerAdvice&#xff0c; ControllerAdvice有以下兩個作用。 ? 注解作用在類上時可以增強Controller&#xff0c;對Controller中被RequestMapping注解標注的方法加一些邏輯處理。…

uniapp + vue3 + Script Setup 寫法變動 (持續更新)

一、uniapp 應用生命周期&#xff1a; https://uniapp.dcloud.net.cn/tutorial/vue3-composition-api.html 注意&#xff1a; 應用生命周期僅可在App.vue中監聽&#xff0c;在其它頁面監聽無效。 二 、uniapp頁面生命周期&#xff1a; https://uniapp.dcloud.net.cn/tutori…

C語言 輸出所有的水仙花數

輸出所有的“水仙花數”&#xff08;水仙花數指一個三位數&#xff0c;其各位數字立方和等于該數本身。例如153是水仙花數&#xff0c;因為1^35^33^3153&#xff09; 這個程序找出所有的三位水仙花數&#xff0c;并輸出它們。 &#xff08;如果每各數字立方和等于原數字&…

Java SE入門及基礎(62) 線程池 執行器

線程池 1. 執行器 In all of the previous examples, theres a close connection between the task being done by a new thread, as defined by its Runnable object, and the thread itself, as defined by a Thread object. This works well for small applications, but…

Golang | Leetcode Golang題解之第212題單詞搜索II

題目&#xff1a; 題解&#xff1a; type Trie struct {children map[byte]*Trieword string }func (t *Trie) Insert(word string) {node : tfor i : range word {ch : word[i]if node.children[ch] nil {node.children[ch] &Trie{children: map[byte]*Trie{}}}nod…

Zynq系列FPGA實現SDI視頻編解碼,基于GTX高速接口,提供5套工程源碼和技術支持

目錄 1、前言工程概述免責聲明 2、相關方案推薦本博已有的 SDI 編解碼方案本方案在Xilinx--Kintex系列FPGA上的應用 3、詳細設計方案設計原理框圖SDI 輸入設備Gv8601a 均衡器GTX 解串與串化SMPTE SD/HD/3G SDI IP核BT1120轉RGB圖像緩存視頻讀取控制HDMI輸出RGB轉BT1120Gv8500 驅…