C#中读写Xml配置文件常用方法工具类
场景
有时需要使用配置文件保存一些配置的属性,使其在下次打开时设置仍然生效。
这里以对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();
//打开一个xml
try
{
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 表达式的第一个 XmlNode
XmlNode 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)
{
//读取节点list
XmlNodeList nodelist = xml.SelectNodes(xPath);
if (nodelist != null)
{
return nodelist.Count;
}
else
{
return ;
}
}
#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)
{
//读取节点list
XmlNodeList 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);
C#中读写Xml配置文件常用方法工具类的更多相关文章
- Java读取Maven工程下的配置文件,工具类
Java开发中,经常需要在maven工程中读取src/main/resources下的配置文件: 思路如下: Class.getClassLoader() 返回类加载器ClassLoader,进而可以 ...
- Winform中自定义xml配置文件后对节点进行读取与写入
场景 Winform中自定义xml配置文件,并配置获取文件路径: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648 ...
- Java中的Xml配置文件(新手)
Java中的Xml配置文件,本文是转发转发转发!重要的事情说三遍 一:概念 1.XML Extensible markup Language 可拓展标记语言 2.功能:存储数据(配置文件,在网络中传 ...
- ssh整合思想初步 struts2与Spring的整合 struts2-spring-plugin-2.3.4.1.jar下载地址 自动加载Spring中的XML配置文件 Struts2下载地址
首先需要JAR包 Spring整合Structs2的JAR包 struts2-spring-plugin-2.3.4.1.jar 下载地址 链接: https://pan.baidu.com/s/1o ...
- SPRING IN ACTION 第4版笔记-第二章WIRING BEANS-008-在Java配置文件中引入xml配置文件@Import、@ImportResource
1. package soundsystem; import org.springframework.beans.factory.annotation.Autowired; public class ...
- mybatis 中的 xml 配置文件中 ‘<’、 ‘>’ 处理
mybatis 中的 xml 配置文件中 '<'. '>' 处理 1.使用转义字符将 '<'. '>' 替换掉. 描述 字符 转义字符 小于号 < < 大于号 &g ...
- struts2中struts.xml配置文件详解【未整理】
1. 深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1. 包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管 ...
- Winform中自定义xml配置文件,并配置获取文件路径
场景 在Winform程序中,需要将一些配置项存到配置文件中,这时就需要自定义xml的配置文件格式.并在一些工具类中去获取配置文件的路径并加载其内容. 关注公众号霸道的程序猿获取编程相关电子书.教程推 ...
- Nutz中那些好用的工具类
Nutz 是国产的精品开源框架,它全无依赖,只以1兆多的身材,就可以实现SSH全部功能的90%以上.内容主要涵盖了:Ioc.Aop.MVC.Dao.Json等WEB开发的方方面面. 它不仅轻巧,而且 ...
随机推荐
- JavaWeb前端分页显示方法
在前端中我们总会遇到显示数据的问题 - 正常情况分页显示是必须的,这个时候我们不能仅仅在前端进行分页,在前端其实做起分页是很困难的,着就要求我们在后台拿数据的时候就要把分页数据准备好,在前端我们只需要 ...
- 实现API优先设计的重要性和实现方式
应用API优先的方法意味着设计API时,使其具有一致性和适应性,无论应用于哪些开发项目.对API使用API描述语言(如OpenAPI)是关键,因为它有助于建立API与其他程序通信的枢纽,即使这些系 ...
- Spring Boot之Profile--快速搞定多环境使用与切换
Spring Profile是Spring3引入的概念,主要用在项目多环境运行的情况下,通过激活方式实现多环境切换,省去多环境切换时配置参数和文件的修改,并且Spring profile提供了多种激活 ...
- Day 01--选题与设计(一)
1.第一天我们主要确定了软件课设的项目,做一个学校内食堂订送餐的微信小程序.我们大体的设计思路是:可以实现学生身份的认证,幷使学生们能自行选择校园内的食堂,挑选各个食堂各个窗口菜谱上可以选择的菜,选择 ...
- python3 how to creat alphabet
Python: How To Generate a List Of Letters In The Alphabet Method 1# First we need to figure out the ...
- 什么是CWS、WBS、OBS
今天公司进行CMMI资质审核,审核人提到了WBS,以前对这些名词没有太过于注意,后经过审核人的审核对这个名词有了一个大致的了解,并结合项目经验和网上的一些资料,编此文档.不为别人,主要怕自己忘记了. ...
- javascript 基础知识汇总(一)
1.<script> 标签 1) 可以通过<script> 标签将javaScript 代码添加到页面中 (type 和language 属性不是必须的) 2)外部的脚本可以通 ...
- ROS中local costmap的原点坐标系
local costmap是一个依赖于其他坐标系存在的坐标系统,它并不维护自己的坐标系,而是在另一个坐标系中设定坐标原点,然后记下自己的宽与高.它使用数据结构nav_msgs/OccupancyGri ...
- 关于AndroidStudio在真机安装的apk闪退(无法打开)的解决方案
问题描述: 重新安装AndroidStudio之后 1.发现在真机上安装apk时显示的是应用包名. 2.在真机上安装的apk无法打开,一直闪退. 如图: 解决方案: 关闭AndroidStudio的I ...
- 大型互联网公司分布式ID方案总结
ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并 ...