user.xml
<?xml version="1.0" encoding="utf-8"?>
<user>
<person>
</person>
<person name="风拉" sex="男" age="">
<pass></pass>
<Address>大明</Address>
</person>
<person name="风云" sex="女" age="">
<pass></pass>
</person>
<person name="云" sex="女" age="">
<pass></pass>
<Address>松江区</Address>
</person>
</user> , private XmlDocument xmlDoc; //添加
private void InsertElement()
{ XmlNode xmldocselect = xmlDoc.SelectSingleNode("user");
XmlElement el = xmlDoc.CreateElement("person");
el.SetAttribute("name", "风云");
el.SetAttribute("sex", "女");
el.SetAttribute("age", "");
XmlElement xesub1 = xmlDoc.CreateElement("pass");
xesub1.InnerText = "";
el.AppendChild(xesub1);
xmldocselect.AppendChild(el);
XmlElement xx = xmlDoc.CreateElement("Address");
xx.InnerText = "松江区";
el.AppendChild(xx);
xmlDoc.Save(Server.MapPath("user.xml"));
}
//修改
private void UpdateElement()
{
LoadXml();
XmlNodeList nodeList = xmlDoc.SelectSingleNode("user").ChildNodes;
foreach (var item in nodeList)
{
XmlElement xe = (XmlElement)item;
if (xe.GetAttribute("name") == "风云")
{
xe.SetAttribute("name", "发明"); //如果下面有子节点在下走
XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach (XmlNode xn1 in nls)//遍历
{
XmlElement xe2 = (XmlElement)xn1;//转换类型
if (xe2.Name == "pass")//如果找到
{
xe2.InnerText = "";//则修改
break; }
} break;
}
}
xmlDoc.Save(Server.MapPath("user.xml"));//保存 } //删除
private void DeleteElement()
{
LoadXml();
XmlNodeList nodeList = xmlDoc.SelectSingleNode("user").ChildNodes;
foreach (var item in nodeList)
{
XmlElement xe = (XmlElement)item;
if (xe.GetAttribute("name") == "发明")
{
xe.RemoveAll(); ////如果下面有子节点在下走
//XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
//foreach (XmlNode xn1 in nls)//遍历
//{
// XmlElement xe2 = (XmlElement)xn1;//转换类型
// if (xe2.Name == "pass")//如果找到
// {
// xe2.InnerText = "66666";//则修改
// break; // }
//} break;
}
}
xmlDoc.Save(Server.MapPath("user.xml"));//保存 } //显示
private void showIt()
{
LoadXml();
XmlNode xn = xmlDoc.SelectSingleNode("user");
XmlNodeList xnl = xn.ChildNodes;
foreach (var item in xnl)
{
XmlElement xe=(XmlElement)item;
Response.Write(xe.GetAttribute("name"));
}
}
//查找xml
private void LoadXml()
{
xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("User.xml"));
} adminFunction.xml <?xml version="1.0" encoding="utf-8" ?>
<functions>
<function name="商品发布" url="~/page/leaves/leave.aspx">
<subfunction name="添加商品" url="~/page/leaves/leave.aspx">
</subfunction>
<subfunction name="添加商品" url="~/page/leaves/leave.aspx">
</subfunction>
</function>
<function name="留言发布" url="~/page/leaves/leave.aspx">
<subfunction name="添加留言" url="~/page/leaves/leave.aspx">
</subfunction>
<subfunction name="修改留言" url="~/page/leaves/leave.aspx">
</subfunction>
</function>
</functions> private void InitFunctions()
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("adminFunction.xml"));
XmlNode root = xmldoc.DocumentElement;
tvFunction.Nodes.Add(CreateNode(root,new TreeNode()));
} //递归
/// <summary>
///
/// </summary>
/// <param name="node">根节点</param>
/// <param name="tn">根节点对应的树节点</param>
/// <returns></returns>
private TreeNode CreateNode(XmlNode root, TreeNode tn)
{ foreach (XmlNode node in root.ChildNodes)
{
XmlElement subxmlEmt = node as XmlElement;
string subname = subxmlEmt.GetAttribute("name");
string suburl = subxmlEmt.GetAttribute("url");
TreeNode subtn = new TreeNode();
subtn.Text = subname;
subtn.NavigateUrl = suburl;
if (node.HasChildNodes)
{
subtn.ChildNodes.Add(CreateNode(node, subtn));
}
tn.ChildNodes.Add(subtn);
}
return tn; } //读实例
private void ReadEx()
{
string path1 = Server.MapPath("TextFile.txt");
if (File.Exists(path1))
{
StreamReader reader = new StreamReader(path1, System.Text.Encoding.GetEncoding("gb2312")); string str = reader.ReadToEnd();
Response.Write((str));
reader.Close();
} WriteFile(path1,"vvvvv");
}
//写文件
/// </summary>
/// <param name="Path">文件路径</param>
/// <param name="Strings">文件内容</param>
public static void WriteFile(string Path, string Strings)
{ if (!System.IO.File.Exists(Path))
{
System.IO.FileStream f = System.IO.File.Create(Path);
f.Close();
}
System.IO.StreamWriter f2 = new System.IO.StreamWriter(Path, false, System.Text.Encoding.GetEncoding("gb2312"));
f2.Write(Strings);
f2.Close();
f2.Dispose();
}

asp.net xml 增删改操作的更多相关文章

  1. 使用python操作XML增删改查

    使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...

  2. ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪

    ASP.NET MVC深入浅出(被替换)   一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...

  3. OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)

    公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...

  4. .NET下对Web.config与App.Config的增删改操作的代码

    把代码过程常用的内容做个收藏,下边代码段是关于 .NET下对Web.config与App.Config的增删改操作的代码. <?xml version="1.0" encod ...

  5. Linq to SQL 简单的增删改操作

    Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...

  6. C# winform窗体设计-对数据库执行增删改操作

    对于学习数据库的人来说,数据库的增删改可谓是最基本的了(小编其实也只是一个小白=-=),这篇文章,小编将于大家讲解数据库增删改操作 在执行数据库增删改的时候主要使用的:Command 类       ...

  7. Jquery easyui开启行编辑模式增删改操作

    Jquery easyui开启行编辑模式增删改操作 Jquery easyui开启行编辑模式增删改操作先上图 Html代码: <table id="dd"> </ ...

  8. [转]Jquery easyui开启行编辑模式增删改操作

    本文转自:http://www.cnblogs.com/nyzhai/archive/2013/05/14/3077152.html Jquery easyui开启行编辑模式增删改操作先上图 Html ...

  9. [ruby on rails] 跟我学之(3)基于rails console的查增删改操作

    本章节展开对model的介绍:包括查增删改操作.紧接着上面一节<[ruby on rails] 跟我学之HelloWorld> 创建模型 使用命令创建模型 创建表post,默认自带两栏位 ...

随机推荐

  1. MVC认知路【点点滴滴支离破碎】【一】----新建数据库

    1.App_Data文件夹创建[SQL Server Compact Local Database *]数据库 2.添加链接字符串<add name="MovieDBContext&q ...

  2. No Launcher activity found!

    已经研究Android有几天了,刚开始写的代码说安装成功,但是在AVD没有显示.左看代码,右看代码,总是没找到错误, <application android:allowBackup=" ...

  3. 用centos光盘安装RPM包的方法

    1.在虚拟机光盘选项中设置连接路径为centos安装光盘. 2.将光盘挂载到本地目录. #新建一个文件夹 mkdir cdrom #把光盘挂载到cdrom目录下 mount /dev/cdrom cd ...

  4. react.js 之 批量添加与删除功能

    最近做的CMS需要用到批量添加图片的功能:在添加文件的容器盒子内,有两个内容,分别是:添加按钮与被添加的选择文件组件. 结构分析: 被添加的组件,我们称为:UploadQiNiuFiles(七牛文件上 ...

  5. swift 学习(三)(面向对象基础)

    面向对象的基本特征包括:封装,继承,多态 在swift中,类,结构,枚举都具有面向对象特性 但结构和枚举的实例不称为对象,因为结构和枚举不是彻底的面向对象类型,比如他们不能继承. 结构体 struct ...

  6. C#-面向对象的三大特性——继承

    继承 注意事项: 继承语法:   类名:父类名 父类也称之为 基类 ,子类也可以成为 xxx的派生类 或 超类. 父类可以有无限个子类,子类只能有一个父类(亲爹),可以有无限个接口(干爹) 子类并不是 ...

  7. dede使用方法---如何调用指定栏目

    使用dede的时候,我们需要调用某一个指定的栏目,这个时候我们该如何使用标签呢?? 真相就是----{dede:type typeid='27'}*******{/dede:type} 完整的标签代码 ...

  8. 匿名内部类为什么访问外部类局部变量必须是final的?

    1.内部类里面使用外部类的局部变量时,其实就是内部类的对象在使用它,内部类对象生命周期中都可能调用它,而内部类试图访问外部方法中的局部变量时,外部方法的局部变量很可能已经不存在了,那么就得延续其生命, ...

  9. 【转】ListView学习笔记(一)——缓存机制

    要想优化ListView首先要了解它的工作原理,列表的显示需要三个元素:ListView.Adapter.显示的数据: 这里的Adapter就是用到了适配器模式,不管传入的是什么View在ListVi ...

  10. MySQL数据表格导入导出

    一 初始数据(共6条记录) username userpwd age admin admin 18 root root 18 cat cat 17 dog dog 15 dog1 dog1 15 zh ...