.net xml 增删改查基础复习及干货分享

来源:互联网 发布:lol外围关注软件 编辑:程序博客网 时间:2024/06/01 19:36

今天做做项目时,有一个需求需要用到一些固定的文本数据,觉得将这些需要存储的信息直接写在代码里很不友好,放在数据库中存储又觉得不够方便,自然就想到了使用xml来进行操作,我平常在项目中其实用到xml的机会并不多,今天既然碰到了,就再温故知新一下吧....

xml简述

xml被设计用来传输和存储数据。(html被设计用来显示数据)

  • xml指可扩展标记语言(Extensible Markup Language)
  • xml是一种标记语言,很类似html
  • xml的设计宗旨是传输数据,而非显示数据
  • xml标签没有被预定义。您需要自行定义标签
  • xml被设计为具有自我描述性
  • xml是w3c的推荐标准

C#操作XML的基本操作:增删改查

demo示例代码:

复制代码
<?xml version="1.0" encoding="utf-8"><info>   <userinfo>     <name>花哥</name>     <age>26</age>     <email>921442206@qq.com</email>     <website>51chiheng.com</website>  </userinfo></info>
复制代码

增加:

复制代码
XmlDocument xmld = new XmlDocument();xmld.Load(Server.MapPath("myfolder/userinfo.xml"));//加载xml文件 XmlNode root = xmld.SelectSingleNode("info");//查找info根节点 XmlElement xml0 = xmld.CreateElement("userinfo"); xml0.SetAttribute("realname", "花**");XmlElement xml1 = xmld.CreateElement("age");//创建一个age节点xml1.InnerText ="26";xml0.AppendChild(xml1);//添加XmlElement xml2 = xmld.CreateElement("email");//创建emial节点xml2.InnerText ="921442206@qq.com";xml0.AppendChild(xml2);//添加XmlElement xml3 = xmld.CreateElement("website");//创建一个website节点xml3.InnerText = "51chiheng.com";xml0.AppendChild(xml3);//添加root.AppendChild(xml0); xmld.Save(Server.MapPath("myfolder/userinfo.xml"));
复制代码

删除操作:

复制代码
XmlDocument xmld = new XmlDocument();xmld.Load(Server.MapPath("myfolder/userinfo.xml"));XmlNodeList list = xmld.SelectSingleNode("info").ChildNodes;foreach (XmlNode var in list)   {      XmlElement xmle = (XmlElement)var;      if (xmle.GetAttribute("readname") == "花**")       {           xmle.RemoveAll();           xmld.Save(Server.MapPath("myfolder/userinfo.xml"));//删除后记得一定要保存           Page.ClientScript.RegisterStartupScript(GetType(), "", "alert('删除成功!!');", true);            }            else            {                Page.ClientScript.RegisterStartupScript(GetType(), "", "alert('删除失败!!');", true);            }       }
复制代码

 

修改操作:

复制代码
XmlDocument xmld = new XmlDocument();  xmld.Load(Server.MapPath("App_Code/Message.xml")); XmlNodeList list = xmld.SelectSingleNode("messageList").ChildNodes; foreach (XmlNode xmln in list) {   XmlElement xmle = (XmlElement)xmln;//格式转换   if ("花**".Equals(xmle.GetAttribute("readname")))   {     xmle.ChildNodes[0].InnerText = "111";     xmle.ChildNodes[1].InnerText = "222";     xmle.ChildNodes[2].InnerText = "333";     xmle.ChildNodes[3].InnerText = "444";     xmld.Save(Server.MapPath("myfolder/userinfo.xml"));     Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('修改成功!!!');location.href='index.aspx'",true);   } }
复制代码

 

查询操作:

复制代码
//下面的代码开始是用页面编码的方式实现的XmlDocument xmld = new XmlDocument();//构建xml文档xmld.Load(Server.MapPath("App_Code/Message.xml"));//加载XmlNodeList list = xmld.SelectSingleNode("messageList").ChildNodes;//获取子节点 if (list!=null)    {       foreach (XmlNode node in list)       {         XmlElement xmle = (XmlElement)node;//转换         //todo....         }     }
0 0
原创粉丝点击