六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 28|回复: 0

C# Winform 读取XML以及修改

[复制链接]

升级  33%

85

主题

85

主题

85

主题

举人

Rank: 3Rank: 3

积分
299
 楼主| 发表于 2013-1-26 12:39:32 | 显示全部楼层 |阅读模式
在调用方法之前,要右击选中的xml文件,设置xml 的 Coyp to output direcotory :Copy always
 XML:
<?xml version="1.0" encoding="utf-8" ?>
<!--用户个性皮肤-->
<Skin>
  <DefaultSkin>blue</DefaultSkin>
</Skin>
winform方法:
 /// <summary>
        /// 读取默认皮肤
        /// </summary>
        /// <returns></returns>
        public string ReadDefaultSkin()
        {
            //Server.MapPath(@"Projects.xml");
            XmlReader reader = new XmlTextReader(Application.StartupPath + @"\Xml\SkinConfig.xml");
            XmlDocument doc = new XmlDocument();
            doc.Load(reader);
            XmlNode root = doc.DocumentElement;
            //选取DefaultLangugae节点
            XmlNode node = root.SelectSingleNode("//DefaultSkin");
            string result = "blue";
            if (node != null)
            {
                //取出节点中的内容
                result = node.InnerText;
            }
            reader.Close();
            return result;
        }

        /// <summary>
        /// 更新皮肤
        /// </summary>
        /// <param name="FileName"></param>
        /// <param name="skin"></param>
        public void UpdateSkin(string skin)
        {
            string FileName = Application.StartupPath + @"\Xml\SkinConfig.xml";
            //初始化XML文档操作类
            XmlDocument myDoc = new XmlDocument();
            //加载XML文件
            myDoc.Load(FileName);
            //搜索指定的节点
            System.Xml.XmlNodeList nodes = myDoc.SelectNodes("//Skin");
            if (nodes != null)
            {
                foreach (System.Xml.XmlNode xn in nodes)
                {
                    xn.SelectSingleNode("DefaultSkin").InnerText = skin;
                }
            }
            myDoc.Save(FileName);
        }
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表