.NET开发笔记--对config文件的操作(3)
1、添加新节点前进行判断看是否已存在相同的属性值,若存在进行更新,不存在则进行添加操作。
protected bool AddPizza()
{
//初始化id
int newId;
string filePath = HttpContext.Current.Server.MapPath("XMLFile.xml");
//创建XML文件对象的实例doc
XmlDocument doc = new XmlDocument();
//加载XML文件
doc.Load(filePath);
//获取结点Pizza下的所有子结点
XmlNodeList nodeList = doc.SelectSingleNode("Pizza").ChildNodes;
bool isExist = true;
foreach (XmlElement xe in nodeList)
{
isExist = xe.Attributes["size"].Value == tbPizzaSize.Text;
if (isExist)
{
xe.SetAttribute("price", tbPizzaPrice.Text);
doc.Save(filePath);
} }
if (!isExist)
{
if (nodeList.Count > )
{ //查找最后一个结点的id
newId = Convert.ToInt32(doc.DocumentElement.SelectSingleNode("/Pizza/Pizzas[last()]").Attributes["id"].Value) + ;
//创建一个新的xml元素
XmlElement Pizzas = doc.CreateElement("Pizzas");
//创建xml属性
XmlAttribute id = doc.CreateAttribute("id");
XmlAttribute size = doc.CreateAttribute("size");
XmlAttribute price = doc.CreateAttribute("price");
//给xml属性赋值
id.Value = newId.ToString();
size.Value = tbPizzaSize.Text;
price.Value = tbPizzaPrice.Text;
//给结点赋值
Pizzas.InnerText = tbPizzaName.Text;
//把属性值添加到元素结点里
Pizzas.Attributes.Append(id);
Pizzas.Attributes.Append(size);
Pizzas.Attributes.Append(price);
//把元素结点添加到XMl文件里
doc.DocumentElement.AppendChild(Pizzas);
//保存XML文件
doc.Save(filePath);
}
else
{
newId = ;
}
}
return true;
}
.NET开发笔记--对config文件的操作(3)的更多相关文章
- .NET开发笔记--对config文件的操作(1)
1先写一些常用的公共类: 在Web.config文件中的配置: <!-- appSettings网站信息配置--> <appSettings> <add key=&quo ...
- .NET开发笔记--对config文件的操作(2)
1.前台代码 sys_channel_edit.aspx <tbody id="item_box"> <asp:Repeater ID="rptList ...
- Python入门笔记(16):对文件的操作(2)
一.文件系统 从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统.具体地说,它负责为用户建立文件,存入.读出.修改.转储文件,控制文件的存取,当用 ...
- loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试
调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...
- Beego 学习笔记12:文件的操作
文件的操作 1> 此事例操作的是text文件 2> 文件的操作有读取text内容,将内容写入到文件中,删除文件,创建文件 3> 新建一个控制器,名为rwfil ...
- 《UNIX-Shell编程24学时教程》读书笔记Chap3,4 文件,目录操作
Chap3 文件操作 P28 在这章中,要着重记住一些常用的选项,要有使用正则表达式的思维,能更快达到目的.----@im天行 3.1 列文件名 .profile sh的初始化脚本: .kshr ...
- Python入门笔记(15):对文件的操作(1)
一.文件对象 我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作. <Python 核心编程>上说的很晦涩,这里没有深刻理解到,希望有人能解释给我听. >>> ...
- Appcan开发笔记:导出Excel文件
Appcan IDE为4.0+; appcan提供了导出文件的方法 appcan.file.write 文件会自动创建,要解决的事情是Excel用字符串输出,可以考虑 csv(逗号间隔).HTML.X ...
- [开发笔记]-C#判断文件类型
判断文件真实的类型,不是通过扩展名来判断: /// <summary> /// 判断文件格式 /// http://www.cnblogs.com/babycool /// </su ...
随机推荐
- Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数
一.查看jdk安装目录 [root@node001 ~]# whereis java java: /usr/bin/java /usr/local/java #java执行路径 [root@node0 ...
- Win7盗版提示,屏幕右下角出现 Windows内部版本7601此Windows副本不是正版怎么办
Windows7 屏幕右下角出现 Windows内部版本7601此Windows副本不是正版 有很多人反应windows7会出现提示"Win7内部版本7600此Windows副本不是正版&q ...
- css颜色大全
本文来自:http://www.cnblogs.com/axing/archive/2011/04/09/CSS.html CSS颜色代码大全: FFFFFF #DDDDDD #AAAAAA #888 ...
- vc 获取函数名称真实地址
首先写一个很简单的main函数: int main(){ printf("main的地址(?):%08x",main); } 单步调试,可得知 main函数的真实入口地址是:00b ...
- Linux内核部件分析 原子性操作atomic_t
在任何处理器平台下,都会有一些原子性操作,供操作系统使用,我们这里只讲x86下面的.在单处理器情况下,每条指令的执行都是原子性的,但在多处理器情况下,只有那些单独的读操作或写操作才是原子性的.为了弥补 ...
- HR*创建人员要素链接
HRMS(Human Resource Management System) --人员 per_people_f --人员分配 per_all_assignments_f --要素 DECLARE l ...
- wps标准格式
- 在Ubuntu下安装mongodb
一. 在Ubuntu下最傻瓜的步骤(以下都在root用户下进行操作): 1.运行"apt-get install mongo" 如果遇到找不到安装包的话运行"apt-ge ...
- STM32的IO口灌入电流和输出驱动电流最大是多少?
最大可以输出8mA,灌入20mA,但要保证所有进入芯片VDD的电流不能超过150mA,同样所有从VSS流出的电流也不能超过150mA. 详细请看STM32的数据手册中的相关内容. 例如,STM32F1 ...
- Redis 实例排除步骤
Redis 应用案例 - 在问题中不断成长 原创 2017-02-05 杜亦舒 本文翻译整理自 Andy Grunwald 发布的一篇文章,写的是作者所在公司使用 Redis 时遇到的问题,以及处理 ...