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属性