码迷,mamicode.com
首页 > 其他好文 > 详细

C#读取xml的方法

时间:2014-06-05 19:55:08      阅读:349      评论:0      收藏:0      [点我收藏+]

标签:des   c   class   a   ext   get   

最近在用C#语言开发项目的时候,客户要求在客户端记住登录的用户名,于是想到了用Xml的形式保存和读取登陆过的用户名的方法来实现。

过程如下

1. 首先,根据我的需求,只需要记住用户名即可,所有我设计的xml文件的格式为:

****************************************************************

<?xml version="1.0" encoding="gb2312"?>
<userID>
  <user nameSeq="1" values="username1" />

  <user nameSeq="2" values="username2" />
</userID>

****************************************************************

是不是很简单,就一个节点而已。

下面就以这个xml为例说明一下取得和写入的方法。

2. 写入xml的代码。

private void setUserName(String user_name){

                  XmlDocument xmlDoc = new XmlDocument();//声明读取xml的对象
                    xmlDoc.Load(XML_FILE_DIR);//获取xml文件,XML_FILE_DIR为xml文件的存放路径,我在这里定义的是常量。
                    XmlNode root = xmlDoc.SelectSingleNode("userID");
                    XmlNode xn = xmlDoc.SelectSingleNode("user");
                    XmlElement xe1 = xmlDoc.CreateElement("user");//创建一个<userID>节点
                    xe1.SetAttribute("nameSeq", (userList.Count + 1).ToString()); //给节点的nameSeq赋值
                    xe1.SetAttribute("values", cbxYhid.Text);                                //给节点的values赋值
                    root.AppendChild(xe1);//添加节点
                    xmlDoc.Save(XML_FILE_DIR);//保存

}

这样就可以忘xml中添加一个节点了,当然也可以用循环或者其他的方法一次往xml中添加一个以上的节点,然后保存,根据需求自由发挥了。

3. 读取xml文件。

private List<String> getUserName()
        {
            try
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(XML_FILE_DIR);
                XmlNode xn = xmlDoc.SelectSingleNode("userID");
                XmlNodeList xnl = xn.ChildNodes;
                foreach (XmlNode xnf in xnl)
                {
                    XmlElement xe = (XmlElement)xnf;
                    String name = xe.GetAttribute("values");
                    if (!String.IsNullOrEmpty(name))
                    {
                        userList.Add(xe.GetAttribute("values"));
                    }
                }
                return userList;
            }
            catch (Exception)
            {
                return null;
            }            
        }

代码如上,我是读出来放在了list当中的,也可以按照实际的需求自由发挥。

 

程序员的心情:

每天记录一点点,再坚持一天,生活如此,编程亦如此吧。

最近喜欢上了纳兰性德的词,喜欢他的多愁善感,喜欢那种凄美的感觉。

《木兰辞 拟古决绝词柬友》 --纳兰性德

人生若只如初见,何事秋风悲画扇。
等闲变却故人心,却道故人心易变。
骊山语罢清宵半,夜雨霖铃终不怨。 
何如薄幸锦衣郎,比翼连枝当日愿。

C#读取xml的方法,布布扣,bubuko.com

C#读取xml的方法

标签:des   c   class   a   ext   get   

原文地址:http://www.cnblogs.com/wqshappy/p/3768267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!