使用C#对XML进行增删改查操作
xml文件格式
- <?xml version="1.0" encoding="utf-8"?>
- <messageList>
- <message id="1">
- <Name>熊猫</Name>
- <QQ>123456</QQ>
- <Email>panda@qq.com</Email>
- <Content>asfdsafasdfasdfsad我是内容</Content>
- <Time>2009-10-1</Time>
- </message>
- </messageList>
增加>>>>
- XmlDocument xmld = new XmlDocument();
- xmld.Load(Server.MapPath("App_Code/Message.xml"));//加载xml文件
- XmlNode root = xmld.SelectSingleNode("messageList");//查找messageList节点
- int i = xmld.SelectSingleNode("messageList").ChildNodes.Count + 1;
- XmlElement xml0 = xmld.CreateElement("message");
- xml0.SetAttribute("id", i.ToString());
- XmlElement xml1 = xmld.CreateElement("Name");//创建一个Name节点
- xml1.InnerText = this.txtName.Value.Trim();
- xml0.AppendChild(xml1);//添加
- XmlElement xml2 = xmld.CreateElement("QQ");//创建QQ节点
- xml2.InnerText = this.txtQQ.Value.Trim();
- xml0.AppendChild(xml2);//添加
- XmlElement xml3 = xmld.CreateElement("Email");//创建一个Email节点
- xml3.InnerText = this.txtEmail.Value.Trim();
- xml0.AppendChild(xml3);//添加
- XmlElement xml4 = xmld.CreateElement("Content");//创建一个Content节点
- xml4.InnerText = this.txtContent.Value;
- xml0.AppendChild(xml4);//添加
- XmlElement xml5 = xmld.CreateElement("Time");//创建一个Time节点
- xml5.InnerText = DateTime.Now.ToString("yyyy-MM-dd");
- xml0.AppendChild(xml5);//添加
- root.AppendChild(xml0);
- xmld.Save(Server.MapPath("App_Code/Message.xml"));
删除>>>>
- XmlDocument xmld = new XmlDocument();
- xmld.Load(Server.MapPath("App_Code/Message.xml"));
- XmlNodeList list = xmld.SelectSingleNode("messageList").ChildNodes;
- foreach (XmlNode var in list)
- {
- XmlElement xmle = (XmlElement)var;
- if (xmle.GetAttribute("id") == Id)//如果ID等于文本的值就删除
- {
- xmle.RemoveAll();
- xmld.Save(Server.MapPath("App_Code/Message.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 (Request["ID"].Equals(xmle.GetAttribute("id")))
- {
- xmle.ChildNodes[0].InnerText = this.txtName.Value;
- xmle.ChildNodes[1].InnerText = this.txtQQ.Value;
- xmle.ChildNodes[2].InnerText = this.txtEmail.Value;
- xmle.ChildNodes[3].InnerText = this.txtContent.Value;
- xmld.Save(Server.MapPath("App_Code/Message.xml"));
- Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('修改成功!!!');location.href='MessageList.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;//转换
- //这里到时候明天补上
来自:http://blog.csdn.net/zhoukang0916/article/details/4684210
使用C#对XML进行增删改查操作的更多相关文章
- c# xml的增删改查操作 xmlDocument 的用法
1.将xml转换为DataTable string path = "";//xml的位置StringReader sr = null;XmlTextReader xmlReader ...
- [转载]Oracle之xml的增删改查操作
tip: xmltype函数是将clob字段转成xmltype类型的函数,若字段本身为xmltype类型则不需要引用xmltype()函数 同名标签用数组取值的方式获取,但起始值从1开始 一.查询(Q ...
- Oracle之xml的增删改查操作
工作之余,总结一下xml操作的一些方法和心得! tip: xmltype函数是将clob字段转成xmltype类型的函数,若字段本身为xmltype类型则不需要引用xmltype()函数 同名标签用数 ...
- 对oracle里面clob字段里面xml的增删改查学习
这段时间,我使用系统表里面有clob字段里面存放的xml信息,我们如何对xml进行增删改查操作呢,自己参考了很多也学到很多,给大家分享一下 首先我们先建测试表 CREATE TABLE EFGP_23 ...
- java实现xml文件增删改查
java一次删除xml多个节点: 方案1.你直接改动了nodeList,这一般在做循环时是不同意直接这么做的. 你能够尝试在遍历一个list时,在循环体同一时候删除list里的内容,你会得到一个异常. ...
- 用dom4j解析xml文件并执行增删改查操作
转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...
- VB&XML的增删改查
简介:XML的增删改查 开发过程中有许多后台操作XML的过程,每次需要操作时都是找很多代码来参考或者百度一下.今天决定补充下XML操作的知识,把XML操作的增删改查都写了一遍,供以后开发参考 查询: ...
- MyBatis批量增删改查操作
前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作.前文地址:http://blog.csdn.net/mahoking/article/details/43673741 ...
- MyBatis学习之简单增删改查操作、MyBatis存储过程、MyBatis分页、MyBatis一对一、MyBatis一对多
一.用到的实体类如下: Student.java package com.company.entity; import java.io.Serializable; import java.util.D ...
随机推荐
- Create the Data Access Layer
https://docs.microsoft.com/en-us/aspnet/web-forms/overview/getting-started/getting-started-with-aspn ...
- BZOJ 2553 AC自动机+矩阵快速幂 (神题)
思路: 我们先对所有读进来的T建一个AC自动机 因为走到一个禁忌串就需要回到根 所以呢 搞出来所有的结束点 或一下 fail指针指向的那个点 然后我们就想转移 a[i][j]表示从i节点转移到j节点的 ...
- Active Object 并发模式在 Java 中的应用--转载
原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-activeobject/ 本文主要从以下两个方面进行阐述: 使用 C++ 语言,来描述 Act ...
- WebApi 参数请求
收藏来源于:http://www.cnblogs.com/babycool/p/3922738.html 路由配置到id post多个参数 ➕前缀 FromBody 参数为实体 对于一般前台页面发起的 ...
- AIX 软件包结构
AIX installp软件包结构 1. usr部分 2. / (root)部分 3. share部分 AIX 为了实现在客户机 / 服务器环境下安装的灵活性将安装包划分为 usr 部分 .r ...
- Ubuntu Bonding(16.04网卡绑定)
UbuntuBonding(网卡绑定) 绑定,也称为端口聚合或链路聚合,意味着将多个网络接口(NIC)组合到单个链路,从而提供高可用性,负载平衡,最大吞吐量或这些组合.注意bonding只能提供链路监 ...
- GPU流水线
起点: 是一个三维模型,由顶点(vertices)构成.顶点列表中的每个顶点是三维坐标系中的坐标,并带有颜色信息.顶点列表(point list)即是流水线的输入数据. 顶点处理: 定点通过三角化(t ...
- gcc---C/C++ 编译器
gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点.现在很多程序员都应用GCC,怎样才能更好的应用GCC.目前,GCC可以用 ...
- 数据分析-jupyter
安装 jupyter pip install jupyter 快捷键 插入 cell : a b 删除cell : x 切换cell的模式: m y 执行 shift +enter 查看帮助 ...
- 11/1 NOIP 模拟赛
11.1 NOIP 模拟赛 期望得分:50:实际得分:50: 思路:暴力枚举 + 快速幂 #include <algorithm> #include <cstring> #in ...