zoukankan      html  css  js  c++  java
  • 自己写的一个简单配置文件(XML格式)

           一开始想用INI格式的配置文件,最后发现,不仅需要引用API函数,操作起来也不见得怎么的好用,还是自己写个吧,反正操作XML文件要方便的许多。

     

    配置文件模型示例:

    <?xml version="1.0" encoding="utf-8"?>
    <appset>
    <run>自启动</run>
    <hide>不隐藏主机</hide>
    <level>50</level>
    <app>关闭状态</app>
    <web>http://vwwv.web.officelive.com/Documents/Notice.htm</web>
    </appset>

    XML文件操作类:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Xml;//引入XML命名空间
    using System.Collections;//引入数组空间
    using System.IO;

    namespace ControXML
    {
    public class ControXMLClass
    {
    public string XMLPath;

    /// <summary>
    /// 定义构造函数
    /// </summary>
    public ControXMLClass(string XPath)
    {
    XMLPath
    = XPath;
    }

    /// <summary>
    /// 读取数据
    /// </summary>
    /// <param name="father"></param>
    /// <param name="son"></param>
    /// <returns></returns>
    public string ReadXML(string father, string son)
    {
    if (ExistXMLFile())
    {
    string nodeValue = "";
    XmlDocument XMLDoc
    = new XmlDocument();
    XMLDoc.Load(XMLPath);
    XmlNode xn
    = XMLDoc.SelectSingleNode(father);
    XmlNodeList xnl
    = xn.ChildNodes;
    foreach (XmlNode xnf in xnl)
    {
    if (xnf.Name == son)
    {
    nodeValue
    = xnf.InnerText;
    }
    }
    return nodeValue;
    }
    else
    {
    return null;
    }
    }

    /// <summary>
    /// 写入数据
    /// </summary>
    /// <param name="father"></param>
    /// <param name="son"></param>
    /// <param name="str"></param>
    public void WriteXML(string father, string son, string str)
    {
    if (ExistXMLFile())
    {
    //如果存在文件
    XmlDocument XMLDoc = new XmlDocument();
    XMLDoc.Load(XMLPath);
    XmlNode xn
    = XMLDoc.SelectSingleNode(father);
    XmlNodeList xnl
    = xn.ChildNodes;
    foreach (XmlNode xnf in xnl)
    {
    if (xnf.Name == son)
    {
    xnf.InnerText
    = str;
    }
    }
    XMLDoc.Save(XMLPath);
    }
    }

    /// <summary>
    /// 删除文件
    /// </summary>
    public void DelFile()
    {
    File.Delete(XMLPath);
    }

    /// <summary>
    /// 验证文件是否存在
    /// </summary>
    /// <returns>布尔值</returns>
    public bool ExistXMLFile()
    {
    return File.Exists(XMLPath);
    }
    }

    }
  • 相关阅读:
    ssh免密码登录
    nginx做负载均衡+keepalived(做主备)
    centos之Too many open files问题-修改linux最大文件句柄数
    redis-JedisPoolConfig配置
    Hadoop端口说明
    hadoop 2.5 安装部署
    Java集合框架 10 连问,你有被问过吗?
    Dubbo面试八连问,这些你都能答上来吗?
    面试官:关于Java性能优化,你有什么技巧
    Docker从入门到掉坑(三):容器太多,操作好麻烦
  • 原文地址:https://www.cnblogs.com/mane/p/1881400.html
Copyright © 2011-2022 走看看