首页 > 编程语言 >C# 读取xml文档并传值给公共类属性

C# 读取xml文档并传值给公共类属性

时间:2024-12-18 14:57:15浏览次数:8  
标签:xml Name C# value item Value property 传值 typeof

            Publicfile publicfile = new Publicfile();
            try
            {
                string filePath = Path.Combine("C:?", fileName);
                if (!File.Exists(filePath))
                {
                    WriteErrorLog($"File({fileName}) not exists."); 
                    return blockvmProfile;
                }
                Type type = typeof(Publicfile);
                PropertyInfo[] properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
                XDocument xDoc = XDocument.Load(filePath);
                var configItems = from sc in xDoc.Descendants("section")
                                  select new
                                  {
                                      Name = sc.Element("NAME")?.Value,
                                      Value = sc.Element("VALUE")?.Value
                                  };
                foreach (var item in configItems)
                {
                    foreach (PropertyInfo property in properties)
                    {
                        if (item.Name == property.Name)
                        {
                            object value;
                            if (property.PropertyType == typeof(string))
                            {
                                value = item.Value;
                            }
                            else if (property.PropertyType == typeof(int))
                            {
                                value = int.Parse(item.Value);
                            }
                            else if (property.PropertyType == typeof(float))
                            {
                                value = float.Parse(item.Value);
                            }
                            else
                            {
                                value = null;
                            }
                            property.SetValue(publicfile, value);
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                WriteErrorLog($"Get file({fileName}) failed." + ex.ToString());
            }

 

标签:xml,Name,C#,value,item,Value,property,传值,typeof
From: https://www.cnblogs.com/blossomwei/p/18614901

相关文章

  • pikachu靶场--XXE注入攻击
    1.POC攻击测试<?xmlversion="1.0"?><!DOCTYPEfoo[<!ENTITYxxe"a">]><foo>&xxe;</foo>读取到实体xxe内容2.查看文件在搜索栏提交xml源码读取目标主机c盘下的指定文件内容#查看文件<?xmlversion="1.0"?><!DOCTYPEfoo[......
  • KBPC1510-ASEMI整流桥KBPC1510参数、封装、尺寸
    编辑:llKBPC1510-ASEMI整流桥KBPC1510参数、封装、尺寸型号:KBPC1510品牌:ASEMI封装:KBPC-4正向电流:15A反向电压:1000V引脚数量:4芯片个数:4芯片尺寸:50MIL漏电流:>10ua恢复时间:>2000ns浪涌电流:300A芯片材质:GPP硅芯片正向电压:1.10V封装尺寸:如图特性:整流桥、插件桥堆工作结......
  • EHOME视频平台EasyCVR矿山封闭局域网环境如何将内网视频数据共享到政务云?
    在探讨矿企智能化建设的进程中,一个关键议题便是如何在封闭局域网环境下,高效且安全地将内网的AI分析数据以及视频数据共享至政务云。这不仅是矿企提升安全生产水平、优化运营效率的重要途径,也是实现可持续发展目标不可或缺的一环。矿企智能化建设中的AI分析、视频监控与上云解决......
  • npm ERR! network 'proxy' config is set properly. See: 'npm help config'
    执行npminstall@gcpaas/data-room-ui命令时报错在package.json这个文件里面添加 overrides这段代码"overrides":{"node-sass":"npm:sass@*","@gcpaas/data-room-ui":{"node-sass":"npm:sass@*"......
  • 二:使用正点原子的直流无刷驱动板自写FOC控制永磁同步(PMSM)电机(位置闭环)
    在上一篇博客中配置了UVW三相PWM的定时器,在此基础上增加配置ABZ编码器定时器启用一个定时器中断,用于PID处理 代码如下//常量定义#definePI3.14159265359f#definePWM_RESOLUTION5250.0f//PWM分辨率#defineCIRCLE_RESOLUTION1000//圆周分辨率#defineMOTOR......
  • 易基因:游离细胞DNA(cfDNA)检测整体研究方案
    01.技术简述细胞游离DNA(cell-freeDNA,cfDNA)是指在生物体的体液中(如血浆、尿液、脑脊液等)自由存在的、非细胞内的DNA片段。这些DNA片段通常来源于细胞凋亡(程序性死亡)或坏死(细胞损伤或死亡后释放),可以被释放到循环系统中,并在体液中被检测到。cfDNA研究和应用是精准医疗和液体活检领......
  • 服务器centos7-AWVS搭建
    一、安装前的准备1.1下载安装包AWVS百度网盘下载并把安装包解压到/opt/AWVS路径中7zxacunetix_23.11.231123131_x64.7z-o/opt/AWVS/1.2更改host文件vim/etc/hosts将以下内容加在hosts文件尾部127.0.0.1erp.acunetix.com127.0.0.1erp.acunetix.com.::1erp.acune......
  • Chrome 132 版本开发者工具(DevTools)更新内容
    Chrome132版本开发者工具(DevTools)更新内容一、使用Gemini调试Network、Source和PerformanceChrome131可以使用Gemini调试CSS,现在可以调试更多模块了与元素面板中的右键菜单类似,要打开AI辅助面板并开始与Gemini的聊天,可以通过以下方式操作:在Network面......
  • DHCP的配置
             ......
  • 物流噩梦结束:RPA如何自动化你的库存管理?【52rpa.com】
    一、库存数据采集与整理RPA自动从仓库管理系统、销售系统等多个数据源提取库存数据,确保数据的准确性和完整性。例如,定时从不同系统中抓取库存数量、入库时间、出库时间等信息。对采集到的库存数据进行清洗和整理,去除重复数据和错误数据。如自动纠正数据格式错误、删除......