场景

有时需要使用配置文件保存一些配置的属性,使其在下次打开时设置仍然生效。

这里以对xml配置文件的读写为例。

1.读取XML配置文。

2.写入XML配置文件。

3.匹配 XPath 表达式的第一个 XmlNode。

4.获取节点text。

5.根据xPath获取节点个数。

6.根据xPath获取节点列表。

以上功能只是根据自己实际业务封装的方法,其他方法可以根据自己的实际业务去封装。

实现

在项目目录下新建xml配置文件。

代码:

class ReadXMLConfigHelper{#region 读取XML配置文件/// <summary>/// 读取XML配置文件  失败返回null/// </summary>/// <param name="filePath">xml文件路径,相对于bin下debug目录</param>/// <returns>xml文档对象</returns>public static XmlDocument readXml(string filePath){//获取可执行文件的路径-即bin目录下的debug或者release目录string context = System.Windows.Forms.Application.StartupPath;//拼接全路径string path = String.Concat(context, filePath);XmlDocument xml = new XmlDocument();//打开一个xmltry{xml.Load(path);return xml;}catch (Exception ex){Console.WriteLine(ex.Message);return null;}}#endregion#region 写入XML配置文件/// <summary>///  写入XML配置文件 成功返回True 失败返回false/// </summary>/// <param name="xml">xml对象</param>/// <param name="filePath">文件路径</param>/// <returns></returns>public static Boolean  writeXml(XmlDocument xml , string filePath){//获取可执行文件的路径-即bin目录下的debug或者release目录string context = System.Windows.Forms.Application.StartupPath;//拼接全路径string path = String.Concat(context, filePath);try{xml.Save(path);return true;}catch (Exception ex){Console.WriteLine(ex.Message);return false;}}#endregion#region 匹配 XPath 表达式的第一个 XmlNode/// <summary>/// 匹配 XPath 表达式的第一个 XmlNode/// </summary>/// <param name="xml">xml文档对象</param>/// <param name="xPath">xPath-路径匹配表达式</param>/// <returns>xml节点对象失败返回Null</returns>public static XmlNode getXmlNode(XmlDocument xml,string xPath){//选择匹配 XPath 表达式的第一个 XmlNodeXmlNode xmlNode = xml.SelectSingleNode(xPath);//读取节点数据if (xmlNode != null){return xmlNode;}else{return null;}}#endregion#region 获取节点text/// <summary>/// 获取节点text/// </summary>/// <param name="xml获取节点textNode">节点对象</param>/// <returns>返回null则失败,返回""则代表节点内容为空,成功返回节点text</returns>public static string getNodeText(XmlNode xmlNode){//读取节点数据if (xmlNode != null){string nodeText = xmlNode.InnerText;if (nodeText != null){return nodeText;}else{return "";}}else{return null;}}#endregion#region 根据xPath获取节点个数/// <summary>/// 根据xPath获取节点个数/// </summary>/// <param name="xml">xml文档对象</param>/// <param name="xPath">xPath表达式</param>/// <returns>返回符合xPath的节点数,没有则返回0</returns>public static int getCountByXpath(XmlDocument xml,string xPath){//读取节点listXmlNodeList nodelist = xml.SelectNodes(xPath);if (nodelist != null){return nodelist.Count;}else{return 0;}}#endregion#region 根据xPath获取节点列表/// <summary>///  根据xPath获取节点列表/// </summary>/// <param name="xml">xml文档对象</param>/// <param name="xPath">xPath表达式</param>/// <returns>返回符合xPath的节点列表,失败返回null</returns>public static XmlNodeList getNodeListByXpath(XmlDocument xml, string xPath){//读取节点listXmlNodeList nodelist = xml.SelectNodes(xPath);if (nodelist != null){return nodelist;}else{return null;}}#endregion}

调用示例:

XmlDocument xml = ReadXMLConfigHelper.readXml(xmlFilePath);XmlNodeList nodeList = ReadXMLConfigHelper.getNodeListByXpath(xml, Global.RADIO_GROUP_COUNT_XPATH);

注:

博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

C#中读写Xml配置文件常用方法工具类相关推荐

  1. php 配置文件加密工具类,SpringBoot集成Jasypt安全框架以及配置文件内容加密(代码示例)...

    本篇文章给大家带来的内容是关于SpringBoot集成Jasypt安全框架以及配置文件内容加密(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我们在SpringBoot项 ...

  2. Winform中自定义xml配置文件后对节点进行读取与写入

    场景 Winform中自定义xml配置文件,并配置获取文件路径: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648 ...

  3. Android中Manifest.xml配置文件

    Android中Manifest.xml配置文件里面有很多的属性,下面对部分进行了整理,还没有整理完全. A.基本框架: <?xml version="1.0" encodi ...

  4. Spring Boot中自带的这些工具类,你用过几个?

    最近发现同事写了不少重复的工具类,发现其中很多功能,Spring 自带的都有.于是整理了本文,希望能够帮助到大家! 断言 断言是一个逻辑判断,用于检查不应该发生的情况 Assert 关键字在 JDK1 ...

  5. 基于POI的读写Excel文件的工具类

    依赖的jar包: import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStrea ...

  6. 好用的对象转xml、xml转对象工具类-支持集合嵌套转换(Java实现)

    好用的对象转xml.xml转对象工具类-支持集合嵌套转换(Java实现) 网上找了很多转换工具,对于自己的业务都不是很合适,所以总结了一下网上的方案,最终定下来是这样子的,主要使用dom4j做操作 m ...

  7. java aes 工具类_Java中的AES加解密工具类:AESUtils

    本人手写已测试,大家可以参考使用 package com.mirana.frame.utils.encrypt; import com.mirana.frame.constants.SysConsta ...

  8. IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法

    关于IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法,简单粗暴直接! 问题产生及解决过程 产生的报错 解决过程 问题产生及解决过程 产生的报错 最近在研究IDEA的使用以及boots ...

  9. anychart java实例_结合AnyChart做报表:一个生成AnyChart图形XML数据的工具类

    今天头有点痛,所以不能详细地写了,先把代码贴上来,等身体状况稍微好一点,再继续完善. 1.(主角)一个使用XML模板生成Anychart XML数据的工具类 /** * */ package com. ...

最新文章

  1. 洛谷3857 [TJOI2008]彩灯
  2. spark环境搭建(idea版本)
  3. 光谱 波长_【第三课】红外光谱仪及其联用技术
  4. Python+matplotlib一笔绘制红色五角星
  5. ubuntu设置打开主目录(home文件夹)的快捷键
  6. iOS10 Xcode 8 中provisioning file 相关bug
  7. python查看数据库存在表_python sqlite3查看数据库所有表(table)
  8. CentOS 6.3安装MPlayer
  9. java读取外部配置文件_java读取jar外部的配置文件
  10. 1978-2021中国统计年鉴、2003-2019(省、市面板数据)、1999-2019(县域面板数据)
  11. 数据揭秘共享单车新局势:ofo多项行业第一
  12. 数据安全技术专利态势分析
  13. 傲盾linux防火墙,linux 挂载数据盘指引
  14. pygame战棋游戏制作之战棋回合切换(五)
  15. 西瓜创客python在线编译器_西瓜创客在线少儿编程 - 课程
  16. strcat、strcpy、strcmp三种函数用法
  17. 三千年读史,不外乎功名利禄。九万里悟道,终归诗酒田园。
  18. kermit 安装 配置 使用
  19. ESP8266-Arduino编程实例-2.8寸TFT LCD驱动(ILI9341控制器)
  20. JAVA下载文件的几_详解Java文件下载的几种实现方式

热门文章

  1. android图库文件夹乱,防止文件夹包含在Android图库中 | MOS86
  2. SpringSecurity鉴权流程分析 附源码注释,xdm,一起来看看吧
  3. qq空间网页版电脑_常用QQ软件,电脑C盘快满了,占用太多空间,如何快速清理?...
  4. mysql数据库周考_周考三
  5. finecms控制器与html,使用@ HTML.Action与参数,以C#控制器
  6. elasticsearch java likequery_ElasticSearch的模糊查询
  7. 光盘刻录只允许读取不能拷贝_便携易用,读写强劲:ORICO外置刻录光驱体验
  8. 中的 隐藏鼠标菜单_Mac移动隐藏删除顶部菜单栏图标教程
  9. 矩阵理论及其应用_有限元分析ansys理论与应用视频第三课 绪论:直接法矩阵求解...
  10. mysql平台workb_MySQL 总结