C# 使用xml写入、读取

保存数据到XML:

          ///1、先定义一个Xml的保存路径
                string SavePath = Server.MapPath("~/xml/user.xml");

                //判断是否存在文件夹
                var DirectoryPath = Path.GetDirectoryName(SavePath);  //获取文件夹所在的路径
                if (!Directory.Exists(DirectoryPath))
                {
                    Directory.CreateDirectory(DirectoryPath);  //创建文件夹
                }

                //2、创建一个XDocument对象
                XDocument XDoc = new XDocument();

                //3、创建一个根元素
                XElement root_xel = new XElement("User");

                //3.1、为根元素创建一个AddTime属性
                XAttribute AddTime_attr = new XAttribute("AddTime", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
                //把AddTime值赋给根元素
                root_xel.Add(AddTime_attr);

                //3.2、创建Name元素,并添加到根元素下 <Name>xiaoming</Name>,下面3.3的方法也可以
                XElement Name_xel = new XElement("Name", user.User_Name);
                root_xel.Add(Name_xel);

                //3.3、创建Password元素,并添加到根元素下 <Password>123456abcd</Password>
                XElement Password_xel = new XElement("Password", user.User_Password);
                root_xel.Add(Password_xel);

                //3.4、创建NickName元素,并添加到根元素下 <NickName>小明</NickName>
                XElement NickName_xel = new XElement("NickName", user.User_NickName);
                root_xel.Add(NickName_xel);

                //3.5、创建Content元素,并添加到根元素下 <Content><![CDATA[不喜欢写作品的懒鬼]]></Content>
                XElement Content_xel = new XElement("Content", user.User_Content);
                root_xel.Add(Content_xel);

                //4、把根元素添加到xml文档
                XDoc.Add(root_xel);

                //5、将xml保存到指定路径
                XDoc.Save(SavePath);

                ViewBag.tishi = "保存成功!"

 

 

读取XML中的数据:

              Models.User user = new Models.User();
                //1、先定义一个要读取的xml的文件路径
                string FilePath = Server.MapPath("~/xml/user.xml");

                //2、从XML文件创建一个XDocument对象:Load方法
                XDocument xDoc = XDocument.Load(FilePath);

                //3、读取xml的根元素:Root属性
                var root_xele = xDoc.Root;

                //4、读取xml的根元素的AddTime属性:Attribute方法。如果是读取属性列表,就需要用Attributes方法。
                var addtime_attr = root_xele.Attribute("AddTime").Value; //读取读取xml的根元素的AddTime属性的值:Value属性

                try
                {
                    user.User_AddTime = Convert.ToDateTime(addtime_attr);
                    //下面这个方法也可以转化字符串成时间
                    //user.User_AddTime = DateTime.Parse(addTime);
                }
                catch
                {

                }
                //5、读取xml的根元素的下的名为“Name”的子元素:Element方法。如果是读取子元素列表,就需要用Elements方法。
                user.User_Name = root_xele.Element("Name").Value;  //读取xml的根元素的下的名为“Name”的子元素的值:Value属性

                //6、读取xml的根元素的下的名为“Password”的子元素:Element方法。如果是读取子元素列表,就需要用Elements方法
                user.User_Password = root_xele.Element("Password").Value; //读取xml的根元素的下的名为“Password”的子元素的值:Value属性

                //7、读取xml的根元素的下的名为“NickName”的子元素:Element方法。如果是读取子元素列表,就需要用Elements方法。
                user.User_NickName = root_xele.Element("NickName").Value;  //读取xml的根元素的下的名为“NickName”的子元素的值:Value属性

                //8、读取xml的根元素的下的名为“Content”的子元素:Element方法。如果是读取子元素列表,就需要用Elements方法。
                user.User_Content = root_xele.Element("Content").Value;  //读取xml的根元素的下的名为“Content”的子元素的值:Value属性

 

posted @ 2017-09-15 09:49  Neuropathy  阅读(731)  评论(0编辑  收藏  举报