加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml文件的加载与配置

发布时间:2020-12-16 05:54:42 所属栏目:百科 来源:网络整理
导读:一、xml配置类设计 ---AdminConfigManager.cs using System.Collections.Generic; using System.Linq; using System.Xml.Linq; namespace XMLTest { public static class AdminConfigManager { public static IListAdminUser AdminUsers { get; } = new List

一、xml配置类设计 ---AdminConfigManager.cs

using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;

namespace XMLTest
{
public static class AdminConfigManager
{
public static IList<AdminUser> AdminUsers { get; } = new List<AdminUser>();

#region 加载、保存相关
/// <summary>
/// 获取或设置配置文件路径。
/// </summary>
public static string ConfigFilePath { get; set; }

/// <summary>
/// 加载配置。
/// </summary>
public static void LoadConfig()
{
XElement root = XElement.Load(ConfigFilePath);
AdminUsers.Clear();
foreach (XElement element in root.Elements("AdminUser"))
{
AdminUser adminUser = new AdminUser();
adminUser.Id = (string)element.Attribute("Id");
adminUser.Name = (string)element.Attribute("Name");
AdminUsers.Add(adminUser);
}
}

/// <summary>
/// 保存配置。
/// </summary>
public static void SaveConfig()
{
XDocument doc = new XDocument(
new XDeclaration("1.0","utf-8","yes"),
new XElement("AdminConfig",
from adminUser in AdminUsers
select new XElement("AdminUser",
new XAttribute("Id",adminUser.Id),
new XAttribute("Name",adminUser.Name))));

doc.Save(ConfigFilePath);
}
#endregion
}

public sealed class AdminUser
{
public string Id { get; set; }
public string Name { get; set; }
}
}

二、以控制台程序为例,调用示例

using System; using System.Collections.Generic; namespace XMLTest { class Program { static void Main(string[] args) { AdminConfigManager.ConfigFilePath = @"E:/AdminUserConfig.xml";//配置xml文件路径 AdminConfigManager.LoadConfig();//加载文件 IList<AdminUser> andminUsers = AdminConfigManager.AdminUsers; //新增 AdminUser addAdminUser = new AdminUser(); addAdminUser.Id = "RJ"; addAdminUser.Name = "任静"; AdminConfigManager.AdminUsers.Add(addAdminUser); AdminConfigManager.SaveConfig(); //删除 //AdminUser deleteAdminUser = AdminConfigManager.AdminUsers.Where(u => u.Id == "RJ").First(); //AdminConfigManager.AdminUsers.Remove(deleteAdminUser); //AdminConfigManager.SaveConfig(); Console.ReadKey(); } } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读