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

转载 2016年06月01日 08:43:47

今天做做项目时,有一个需求需要用到一些固定的文本数据,觉得将这些需要存储的信息直接写在代码里很不友好,放在数据库中存储又觉得不够方便,自然就想到了使用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.... 
        }
     }

Java基础学完了?来!复习(必看干货!)请认真看哦!

1、在Java语言中多态性体现在由方法重载实现的静态多态性和方法重写实现的动态多态性。 2、final 类不能被继承,即不能有子类。     3、abstract 类不能创建对象,必须产生其子...
  • superma1982
  • superma1982
  • 2017年02月20日 14:32
  • 1207

关于android有用的干货知识点

1:Activity生命周期? 这几乎是个老少咸宜,永远不会过时的问题,而且极有可能是第一个问题。这个问题当然没什么好讲的啦,死记硬背是没什么用的了,关键是理解。本人就曾遇到这个问题的变种问题,...
  • u014365133
  • u014365133
  • 2017年02月17日 11:21
  • 321

asp.net对XML的增删改查

using System; using System.Collections; using System.ComponentModel; using System.Data; using Sy...
  • chenguang79
  • chenguang79
  • 2008年03月28日 10:45
  • 525

xml之增删改查案列(winform)

这个就是基于xml语言的怎删改查案例, 也挺简单的一个, xml语言前面部分就挺简单的 用了winform 里面的text,按钮等控件,将对数据的操作进行实体化 下面代码: ...
  • CSDN___LYY
  • CSDN___LYY
  • 2016年09月18日 10:07
  • 696

Java面试题之java基础--干货

1.1 Java中的方法覆盖(Overwrite)和方法重载(Overloading)是什么意思?重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或...
  • xinghuo0007
  • xinghuo0007
  • 2016年12月05日 11:35
  • 1918

干货!MySQL 资源大全

分析工具 性能,结构和数据分析工具 Anemometer – 一个 SQL 慢查询监控器。 innodb-ruby – 一个对 InooDB 格式文件的解析器,用于 Ru...
  • daiyudong2020
  • daiyudong2020
  • 2016年05月15日 19:44
  • 977

Java基础快速复习

本篇博客写的都是自己复习Java的时候所记录的一些笔记(还是比较篇概念的内容),所以可能内容不是很全面、或许也很杂,内容都是从基础一点点往后增加的。1.数据类型:由低级到高级转型 (byte,cha...
  • z957250254
  • z957250254
  • 2016年09月25日 21:48
  • 2352

前端干货资源

前端收录 Helloweba为广大前端者收录了常用实用的前端资源工具,方便大家学习和查阅。 库/框架 jQuery 优秀的Javascript库 ...
  • hardgirls
  • hardgirls
  • 2016年08月13日 10:58
  • 1089

Java基础复习,整理知识点

最近开始复习Java基础,和Android,将知识点整理如下,另外开始尝试使用MarkDown写博客,写的有问题的地方还请各位包含。Android部分的内容整理见我的另一篇博客1.Java关键字总结梳...
  • SCUcoder
  • SCUcoder
  • 2016年03月07日 19:51
  • 4892

干货来啦!JAVA常用代码(二)

//11. 目录和文件操作 // 获取文件信息 exists(): 如果文件存在,返回true getCanonicalPath(): 获取全名 getName(): 文件名 ...
  • qq_26676207
  • qq_26676207
  • 2016年06月22日 10:11
  • 760
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.net xml 增删改查基础复习及干货分享
举报原因:
原因补充:

(最多只允许输入30个字)