asp.net xml 增删改操作
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 增删改操作的更多相关文章
- 使用python操作XML增删改查
使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)
公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...
- .NET下对Web.config与App.Config的增删改操作的代码
把代码过程常用的内容做个收藏,下边代码段是关于 .NET下对Web.config与App.Config的增删改操作的代码. <?xml version="1.0" encod ...
- Linq to SQL 简单的增删改操作
Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...
- C# winform窗体设计-对数据库执行增删改操作
对于学习数据库的人来说,数据库的增删改可谓是最基本的了(小编其实也只是一个小白=-=),这篇文章,小编将于大家讲解数据库增删改操作 在执行数据库增删改的时候主要使用的:Command 类 ...
- Jquery easyui开启行编辑模式增删改操作
Jquery easyui开启行编辑模式增删改操作 Jquery easyui开启行编辑模式增删改操作先上图 Html代码: <table id="dd"> </ ...
- [转]Jquery easyui开启行编辑模式增删改操作
本文转自:http://www.cnblogs.com/nyzhai/archive/2013/05/14/3077152.html Jquery easyui开启行编辑模式增删改操作先上图 Html ...
- [ruby on rails] 跟我学之(3)基于rails console的查增删改操作
本章节展开对model的介绍:包括查增删改操作.紧接着上面一节<[ruby on rails] 跟我学之HelloWorld> 创建模型 使用命令创建模型 创建表post,默认自带两栏位 ...
随机推荐
- 如何给我们的eclipse新建文件自动生成注释
有时候,我们需要给我们的文件加载注释,但手动给每一个方法,每一个类添加注释,非常的繁琐,幸好强大的eclipse已经为我们准备好了自动添加注释的配置文件,它就是——codetemplates.xml ...
- android 随记 ContentValues
ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西,而 ...
- android 一条线
还在为布局的时候做不出来一条细细的线而烦恼么? 哈哈,自从知道了写法腰也不酸了,腿也不疼了!一口气写100行!! <View android:layout_height="1px&qu ...
- js获取上传的文件并用ajax提交
<form id="form1" name="form1" encType="multipart/form-data" method= ...
- ActiveMQ_点对点队列(二)
一.本文章包含的内容 1.列举了ActiveMQ中通过Queue方式发送.消费队列的代码(普通文本.json/xml字符串.对象数据) 2.spring+activemq方式 二.配置信息 1 ...
- userAgent收集
UserAgent AppleWebKit,Gecko,Trident,Presto http://www.httpuseragent.org/list/ 谷歌:360? Mozilla/5.0 (W ...
- Chrome DevTools good good study day day up
Chrome DevTools 官方页面 https://developer.chrome.com/devtools
- poj1966 求顶点连通度
Cable TV Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 4563 Accepted: 2118 ...
- HTTP协议学习--- (十一)理解HTTP幂等性
在httpcomponent 文档中看到如下段落: 1.4.1. HTTP transport safety It is important to understand that the HTTP p ...
- shell 题
(1)有一推主机地址:a.baidu.com.....z.baidu.com如何从这些数据中提取出.baidu.com之前的字母,如:a b...z? #cat f1.txt | while read ...