使用XML保存程序需要的配置信息

   //获取Xml对象
        private XmlDataDocument GetXMLDocment(string fileName)
        {
            XmlDataDocument xmlDoc;
            if (File.Exists(fileName))
            {
                xmlDoc = new XmlDataDocument();
                xmlDoc.Load(fileName);
            }
            else
            {
                xmlDoc = new XmlDataDocument();
                //加入xml的声明
                XmlNode xmlNode = xmlDoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
                xmlDoc.AppendChild(xmlNode);
                //生成根节点
                xmlNode = xmlDoc.CreateElement("root");
                xmlDoc.AppendChild(xmlNode);
                xmlDoc.Save(fileName);
            }
            return xmlDoc;
        }
        //获取节点文本
        private string GetXmlInnerTextByNodeName(XmlDataDocument xmlDoc, string nodeName)
        {
            XmlNodeList nodeList = xmlDoc.GetElementsByTagName(nodeName);
            if (nodeList.Count > 0)
            {
                XmlNode node = nodeList.Item(0);
                return node.InnerText;
            }
            else
            {
                return "";
            }
        }
        //创建新节点
        private XmlElement GetNewElement(XmlDataDocument xmlDoc, string elementName, string innerText)
        {
            XmlElement element = xmlDoc.CreateElement(elementName);
            element.InnerText = innerText;
            return element;
        }
        //保持记录
        private void SaveConfigToXml(string fileName, string parentNodeName, Hashtable hs)
        {
            XmlDataDocument xmlDoc = GetXMLDocment(fileName);
            XmlNodeList nodeList = xmlDoc.GetElementsByTagName(parentNodeName);
            XmlElement xmlElement = null;
            if (nodeList.Count > 0)
            {
                xmlElement = (XmlElement)nodeList.Item(0);
            }
            if (xmlElement == null)
            {
                xmlElement = xmlDoc.CreateElement(parentNodeName);
                XmlNode xmlRootNode = xmlDoc.SelectSingleNode("root");
                xmlRootNode.AppendChild(xmlElement);
            }
            else
            {
                xmlElement.RemoveAll();
            }

            foreach (DictionaryEntry di in hs)
            {
                xmlElement.AppendChild(GetNewElement(xmlDoc, di.Key.ToString(), di.Value.ToString()));
            }

            try
            {
                xmlDoc.Save(fileName);
            }
            catch (Exception ex)
            {

            }
        }
      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值