使用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 ...
随机推荐
- Github-flavored Markdown 导出为 PDF
前提条件: 你可以访问Google和它相关的服务 第一步 到Chrome Store安装插件 Markdown Preview Plus 安装以后记得勾选 "允许访问文件网址" 设 ...
- 【转】Android应用底部导航栏(选项卡)实例
现在很多android的应用都采用底部导航栏的功能,这样可以使得用户在使用过程中随意切换不同的页面,现在我采用TabHost组件来自定义一个底部的导航栏的功能. 我们先看下该demo实例的框架图: 其 ...
- Scrapy框架使用代理
使用代理抓取https://www.baidu.com/s?wd=ip # -*- coding: utf-8 -*- ''' 一.在settings.py中开启中间件 DOWNLOADER_MIDD ...
- 彻底分析虚拟视频驱动vivi(三)
在Ubuntu系统中接上usb摄像头设备时,系统会自动安装对应的usb设备驱动程序.我们现在要使用自己编译的vivi驱动,该怎么办呢? 1.先安装系统自带的vivi驱动和它所依赖的所有驱动:sudo ...
- 海思平台服务器版软件V15.2产品发布
深度操作系统海思平台服务器版软件是武汉深之度科技有限公司发布的针对华为海思平台的TaiShan系列服务器发布的企业级服务器操作系统软件产品,主要面向企业级服务器应用场景,为用户在国产化平台上提供更具可 ...
- 今日SGU 5.20
SGU 404 题意:.. 收获:取模 #include<bits/stdc++.h> #define de(x) cout<<#x<<"="& ...
- 代码正常,junit却报错原因及解决方法
junit测试,不能有参数 和static,去掉static测试正常;
- 【Henu ACM Round#14 D】Kefa and Dishes
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 状态压缩动规. 可以写成记忆化搜索的形式. f[bit][p] 表示选取的菜的情况为bit(用0..2^(N)-1的二进制形式表示各 ...
- 零基础学python-7.6 字符串格式化表达式
字符串格式化同意在一个单个的步骤中对一个字符串运行多个特定类型的替换 特别是给用户提示的时候,格式化很方便 实现方法: 1.格式化表达式,类似于c语音的printf 在表达式中,我们使用%二进制操作符 ...
- amlogic M8操作gpio bank
參照规格书: r代表:读 a代表GPIOAO bank 0x28代表read bit echo r a 0x28 > /sys/class/amlogic/debug 操作GPIO口读取 w代表 ...