c#环境XML文件创建、修改、删除、查找相关操作
来源:互联网 发布:淘宝买东西上传身份证 编辑:程序博客网 时间:2024/04/28 06:53
本人在开发Windows应用中偶然碰到了需要将应用数据存储到本地问题,如果用SQLite数据库操作起来有一定的问题,于是将想到了将数据存储到本地XML文件中,如果有问题,欢迎各位大佬指点。
我碰到的问题是保存用户信息,每一个用户有Id,name,age,phone,symptom五个属性。
1、首先创建一个结构体如下
public struct UserMessage { public string Id; public string Name; public string Age; public string Phone; public string Symptom; public UserMessage(string Id, string Name, string Age, string Phone, string Symptom) { this.Id = Id; this.Name = Name; this.Age = Age; this.Phone = Phone; this.Symptom = Symptom; } }
这个基本每个人都会,不多说。
2、创建xml文档
创建xml文档需要指定文档存储的地址,并且添加相应的节点。
public void CreatXmlTree(string xmlPath) { XElement xElement = new XElement( new XElement("UserList", new XElement("User", new XAttribute("Id", "000"), new XAttribute("Name", "000"), new XAttribute("Age", "000"), new XAttribute("Phone", "000"), new XAttribute("Symptom", "000") ) ) ); //需要指定编码格式,否则在读取时会抛:根级别上的数据无效。 XmlWriterSettings settings = new XmlWriterSettings(); settings.Encoding = new UTF8Encoding(false); settings.Indent = true; XmlWriter xw = XmlWriter.Create(xmlPath, settings); xElement.Save(xw); //写入文件 xw.Flush(); xw.Close(); }
3、添加节点
类似于数据库,添加相同节点类似于数据库表中添加一条数据。
public void AddNewNode(string xmlPath, UserMessage userMessage) { string xmlpath = xmlPath; UserMessage usermessage = userMessage; string id = usermessage.Id; string name = usermessage.Name; string age = usermessage.Age; string phone = usermessage.Phone; string symptom = usermessage.Symptom; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlpath); XmlNode root = xmlDoc.SelectSingleNode("UserList");//查找<UserList> XmlElement xe1 = xmlDoc.CreateElement("User");//创建一个<User>节点 xe1.SetAttribute("Id", id);//设置该节点id属性 xe1.SetAttribute("Name", name);//设置该节点name属性 xe1.SetAttribute("Age", age);//设置该节点age属性 xe1.SetAttribute("Phone", phone);//设置该节点phone属性 xe1.SetAttribute("Symptom", symptom);//设置该节点symptom属性 root.AppendChild(xe1);//添加到节点中 xmlDoc.Save(xmlpath); }
4、删除节点
public void Delete(string xmlPath) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlPath); var root = xmlDoc.DocumentElement;//取到根结点 var element = xmlDoc.SelectSingleNode("BookStore/NewBook"); root.RemoveChild(element); xmlDoc.Save(xmlPath); }
5、查找数据
我们需要在xml文件中找出具体某个节点下的所有子节点以及他们的value值,并以结构体的形式返回。
public UserMessage Search(string xmlPath, string Id) { string xmlpath = xmlPath; string id = Id; UserMessage usermessage = new UserMessage("", "", "", "", ""); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlPath); // 找到要添加的xml文件 XmlNode rootNode = xmlDoc.SelectSingleNode("UserList");//查找 foreach (XmlNode xnf in rootNode.ChildNodes) { XmlElement xe = (XmlElement)xnf; if (xe.GetAttribute("Id").Equals(id)) { usermessage.Id = xe.GetAttribute("Id"); //得到属性值 usermessage.Name = xe.GetAttribute("Name"); usermessage.Age = xe.GetAttribute("Age"); usermessage.Phone = xe.GetAttribute("Phone"); usermessage.Symptom = xe.GetAttribute("Symptom"); } } return usermessage; }
以上就是我用到的一下基本操作,如果哪里有不对的地方,欢迎批评指正。
阅读全文
0 0
- c#环境XML文件创建、修改、删除、查找相关操作
- asp.net C#对xml文档创建 修改 删除 查找
- C#中操作xml文件(插入节点、修改、删除)
- C#中操作xml文件(插入节点、修改、删除)
- C#如何操作(新建,修改,删除)XML文件?
- C#中操作xml文件(插入节点、修改、删除)
- AS3 操作XML,增加、删除、修改、查找
- c# xml创建添加查找删除
- C#使用linq to xml完成对XML文件的创建、增加、删除、修改、查询
- Asp.net中C#增加删除查找与修改xml文件元素节点
- JDOM创建、修改、删除、读取XML文件
- C#创建、读写、增加、删除XML操作
- 利用JDOM及XPath对XML文件进行创建、查找、增加、删除、保存等操作
- C#中对XML文件进行新建、查找、插入、修改、保存等操作
- C#中对XML文件进行新建、查找、插入、修改、保存等操作
- C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- C#文件操作 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- Error:Execution failed for task ':app:processDebugManifest
- Keyboard Shortcuts
- 5.8百分制成绩转化为五分制成绩
- Qt/QML窗口阴影边框实现
- Android 7.0动态权限
- c#环境XML文件创建、修改、删除、查找相关操作
- Java 对windows/linux不同路径的处理办法
- 大话Elasticsearch常用操作和核心原理
- Java集合源码----HashMap
- 初识线程
- 6.3程序改错题
- PPP:Joint Pointwise and Pairwise Image Label Prediction 解读
- NOIP模拟(11.07)T1 数列求和
- 鸟哥的Linux私房菜:首次登陆与在线求助,LINUX最简单的命令及应用(一)