爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
ASP.NET教程
C#对XML操作:编辑XML文件内容
C#对XML操作:编辑XML文件内容
日期:2013-05-28 浏览次数:20519 次
第三章:XML文件记录的编辑
使用C#来编辑XML文件,最方便的方法当然还是使用DATASET
我们继续使用上一篇中的XML文件,如下:
<users> <xs:schema id="users" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="users" msdata:IsDataSet="true" msdata:Locale="zh-CN"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="user"> <xs:complexType> <xs:sequence> <xs:element name="userName" type="xs:string" minOccurs="0" msdata:Ordinal="0" /> <xs:element name="userPass" type="xs:string" minOccurs="0" msdata:Ordinal="1" /> </xs:sequence> <xs:attribute name="id" type="xs:string" /> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <user id="1"> <userName>outrace</userName> <userPass>mypass</userPass> </user> <user id="2"> <userName>trace</userName> <userPass>mypass</userPass> </user> <user id="3"> <userName>new user</userName> <userPass>new passwd</userPass> </user></users>
则,我们新建一个XML文件,内容如下:
<% @ Import Namespace="System.IO" %><% @ Import Namespace="System.Xml" %><% @ Import Namespace="System.Data" %><Script Language="C#" Runat="Server">public void Page_Load(Object src,EventArgs e){ /** 版 权 : copyright by SEM IT DEPARTMENT* 版 本 : version 0.0.1* 文 件 : EditXml.aspx* 用 途 : 编辑XML文件(修改、删除行)* 作 者 : 欧阳云天 @2005-4-9* 邮 箱 : outrace@soueast-motor.com* 修 改 :*/ String fileName;fileName = "users_2.xml";DataSet myDs = new DataSet();try{FileStream fin ;fin = new FileStream(Server.MapPath("./files/"+fileName), FileMode.Open, FileAccess.Read, FileShare.ReadWrite);myDs.ReadXml(fin);fin.Close();}catch (Exception ex){ Response.Write(ex.Message);}//绑定修改前的XMLOldData.DataSource = myDs.Tables[0].DefaultView;OldData.DataBind(); //当DS当中增加新行DataRow newRow = myDs.Tables[0].NewRow();newRow["id"] = "44";newRow["userName"] = "test user";newRow["userPass"] = "test passwd";myDs.Tables[0].Rows.Add(newRow); //绑定新增一条记录的数据NewData.DataSource = myDs.Tables[0].DefaultView;NewData.DataBind(); //进行过滤 DataRow[] editRow = myDs.Tables[0].Select("id = '44'"); for(int i=0;i<editRow.Length;i++){ editRow[i]["userName"] = "changed user"; editRow[i]["userPass"] = "changed passwd";} //绑定修改记录后的数据EditData.DataSource = myDs.Tables[0].DefaultView;EditData.DataBind(); for(int i=0;i<editRow.Length;i++){ editRow[i].Delete(); //把该数据删除} //绑定删除记录后的数据DeleData.DataSource = myDs.Tables[0].DefaultView;DeleData.DataBind(); //将myDs的改变写入XMLtry{myDs.WriteXml(Server.MapPath("./files/"+fileName), XmlWriteMode.WriteSchema);}catch (Exception ex){ Response.Write(ex.Message);}myDs.Dispose();}</script><html><head> <title>编辑数据</title></head><body> <form runat="server"> <table width="100%"> <tr> <td>原数据</td> <td>新增行</td> <td>修改行</td> <td>删除行</td> </tr> <tr> <td valign="top"><asp:DataGrid id="OldData" runat="server"/></td> <td valign="top"><asp:DataGrid id="NewData" runat="server"/></td> <td valign="top"><asp:DataGrid id="EditData" runat="server"/></td> <td valign="top"><asp:DataGrid id="DeleData" runat="server"/></td> </tr> </table> </form></body></html>
大家运行完这个文件,就可以非常直观的看到操作效果,由于我们是最后才保存,所以XML文件的内容没有发生改变
上一篇:[环境搭建] VS-Visual Studio-IIS Express 支持局域网访问 远程调试
下一篇:用C#生成Excel文件的方法和Excel.dll组件生成的方法
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
google地图api中判断一个坐标是否位于一个多边形内,该怎么解决
dropdownlist 有关问题
GridView的行数?解决方案
问一个很简单很简单很简单,但是有可能你不会的有关问题?a=b=c!
虾米是编译啊解决办法
javascript代码在IE6.0可以正常显示,但是在IE7.0就不显示!解决思路
彈出頁面外觀的控制解决办法
关于“不是有效的虚拟路径”有关问题请问
GridView的分页显示解决思路
推荐阅读
更多>
请帮忙解释一下以下的一段简单代码解决方案
友人想做网站,不知道价格多少呢,有需求文档
怎样利用javascript,一个checkbox控制多个textbox解决方法
asp.net怎么统计新闻点击次数
从在 Internet Explorer 中使用 Windows 窗体控件开始谈Smart Client
ASP.NET 2.0下的条件编译
EF怎么修改数据
关于返回前面的页面。如何两者兼得,自问自答
Visual Studio .NET已检测到指定的Web服务器运行的不是ASP.NET 1.1 版...的解决办法_安装和部署
ASP.NET 使用有关问题!类库无法网站使用
连接数据库有关问题,新人
.net 页面url有关问题?
用VB6读写数据库中的图片
关于事件的思考_Asp.Net基础教程
在客户端脚本JS中向服务器端一数组赋值?该如何解决
问网页一特效解决思路
asp.net中添加新项目后,怎样互相引用?该如何解决
千马常有,伯乐不常有?敢问那里有伯乐吗?该怎么解决
问大家关于网站用户收件箱的有关问题!(解决给分!)
|M| 500分第四贴:求做一个Web系统的权限的编程思想和数据库设计和具体实现(刚才设计的数据结构不行,现在问如何绑定小弟我的表到树结构去)