.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.... 
        }
     }

Asp.Net 操作XML文件的增删改查 利用GridView

主要利用Asp.Net生成XML文件

.net XML增删改查

  • 2012年10月17日 17:25
  • 173KB
  • 下载

ASP.NET EasyUI实现增删改查

C# EasyUI增删改差 ,ASP.NET

ASP.net三层简单基础增删改查

  • 2014年08月28日 11:22
  • 5.96MB
  • 下载

asp.net MVC 增删改查基础

  • 2010年07月13日 20:08
  • 208KB
  • 下载

ado.net EF 增删改查、分页

Linq(集成语言查询)在与数据库交互增删改查中使用的非常多。Linq分为Linq to SQL(已经过时)、Linq to EF、Linq to XML等多种类型。LInq to EF 是针对EF实...

Asp.net MVC Linq 增删改查 基础代码

  • 2014年02月28日 18:21
  • 15.3MB
  • 下载

【ASP.NET】利用Repeater完成对SQL Server数据库的增删改查

在ASP.NET对于SQL Server数据库的增删改查自然是便利的,ASP.NET提供了大量封装好的数据库表格,例如GridView什么的,但这些组件只能通过VS自带的属性进行样式的修改,远不如类似...

Zookeeper.NET Client(三)【Znode节点增删改查】

那些最能干的人,往往是那些即使在最绝望的环境里,仍不断传送成功意念的人。他们不但鼓舞自己,也振奋他人,不达成功,誓不休止。——安东尼·罗宾class Program { sta...
  • WuLex
  • WuLex
  • 2016年10月02日 02:08
  • 9875
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.net xml 增删改查基础复习及干货分享
举报原因:
原因补充:

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