zoukankan      html  css  js  c++  java
  • C#学习笔记之XML工具类

           关于XML文件,我有一篇文章是专门写用XML文件做配置文件的,当时我直接把代码写在了form窗口的类文件里,没有将代码分离。在这里我直接将代码分离开来做成了一个工具类。工具类的思想和数据库帮助类一样,把代码从逻辑控制类里分离开来,方便重复使用。

       

     /// <summary>
        /// XML工具类
        /// </summary>
       public class XmlToolClass
        {
           private static string path = Application.StartupPath + @"dataconfig.xml";
            //Application.StartupPath获取该应用程序的启动地址不包含文件名,所以绝对路径要加上对应文件名
            //执行写入操作时,不存在文件则自动创建
    
            /// <summary>
            /// 从xml文件中获取数据
            /// </summary>
            /// <param name="nodeName">节点名称</param>
            /// <returns>返回xml文件中节点对应的数据</returns>
            public static string GetLastTimeSuccessfulLoginAccount(string nodeName)
            {
                string LastTimeSuccessfulLoginAccount = "";
                XmlDocument doc = new XmlDocument();//实例化XmlDocument 用于加载xml文件
    
                XmlReaderSettings settings = new XmlReaderSettings();
                settings.IgnoreComments = true;//忽略文档里面的注释
                try
                {
                    XmlReader reader = XmlReader.Create(path, settings);//XmlReader作用是xml读取器, 实例化XmlReader 读取xml文件数据
                    doc.Load(reader);//把读到的数据加载到doc
                    // 得到根节点Data
                    XmlNode xm = doc.SelectSingleNode("Data");
                    XmlNode configuration = xm.ChildNodes[0];
                    XmlElement cftElemen = (XmlElement)configuration;
                    LastTimeSuccessfulLoginAccount = cftElemen.GetAttribute(nodeName).ToString();//获取XML文件记录的账号
    
                    reader.Close();
    
                }
                catch
                {
    
                }
                return LastTimeSuccessfulLoginAccount;
            }
    
            /// <summary>
            /// 登录成功后将数据写入xml文件
            /// </summary>
            /// <param name="nodeName">节点名称</param>
            /// <param name="data">数据</param>
            public static  void SetSuccessfulLoginAccount(string nodeName, string data)
            {
                XmlDocument xmlDoc = new XmlDocument();
                //加入XML的声明段落,Save方法不再xml上写出独立属性
                xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null));
                try
                {
    
                    //加入根元素
                    XmlElement root = xmlDoc.CreateElement("Data");
                    xmlDoc.AppendChild(root);
    
                    XmlElement memberA = xmlDoc.CreateElement("MEMBER");
                    memberA.SetAttribute(nodeName, data);
    
    
                    root.AppendChild(memberA);
    
                    xmlDoc.Save(path);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
    
        }
  • 相关阅读:
    CAP 理论笔记
    介绍 GOMEZ
    CDN资料下载(1) 20091223
    About网宿CDN
    [笔记] Darwin Streaming server 的 Task 类
    手把手教你写“隐藏图标托盘程序”
    WIN7下使用OpenSCManger和OpenService函数的注意
    oracle按月、日、时分组查询数据,为空的数据补零
    搜索引擎学习
    JSONP与JSON
  • 原文地址:https://www.cnblogs.com/xwzLoveCshap/p/11540916.html
Copyright © 2011-2022 走看看