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)的更多相关文章

  1. .NET开发笔记--对config文件的操作(1)

    1先写一些常用的公共类: 在Web.config文件中的配置: <!-- appSettings网站信息配置--> <appSettings> <add key=&quo ...

  2. .NET开发笔记--对config文件的操作(2)

    1.前台代码 sys_channel_edit.aspx <tbody id="item_box"> <asp:Repeater ID="rptList ...

  3. Python入门笔记(16):对文件的操作(2)

    一.文件系统 从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统.具体地说,它负责为用户建立文件,存入.读出.修改.转储文件,控制文件的存取,当用 ...

  4. loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试

    调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...

  5. Beego 学习笔记12:文件的操作

    文件的操作 1>     此事例操作的是text文件 2>     文件的操作有读取text内容,将内容写入到文件中,删除文件,创建文件 3>     新建一个控制器,名为rwfil ...

  6. 《UNIX-Shell编程24学时教程》读书笔记Chap3,4 文件,目录操作

    Chap3 文件操作   P28 在这章中,要着重记住一些常用的选项,要有使用正则表达式的思维,能更快达到目的.----@im天行 3.1 列文件名 .profile  sh的初始化脚本: .kshr ...

  7. Python入门笔记(15):对文件的操作(1)

    一.文件对象 我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作. <Python 核心编程>上说的很晦涩,这里没有深刻理解到,希望有人能解释给我听. >>> ...

  8. Appcan开发笔记:导出Excel文件

    Appcan IDE为4.0+; appcan提供了导出文件的方法 appcan.file.write 文件会自动创建,要解决的事情是Excel用字符串输出,可以考虑 csv(逗号间隔).HTML.X ...

  9. [开发笔记]-C#判断文件类型

    判断文件真实的类型,不是通过扩展名来判断: /// <summary> /// 判断文件格式 /// http://www.cnblogs.com/babycool /// </su ...

随机推荐

  1. Python函数:使用谷歌翻译翻译英语字符串

    代码是同事写的,我把它单独抠出来,可以作为工具函数使用.当然,性能还是个问题,有待解决. import random import cookielib import urllib import url ...

  2. redis3.0.6安装配置

    运行linux客户端 1     安装依赖 yum install gcc-c++ -y(安装gcc) 2     创建安装目录.编译.安装 mkdir -p /usr/local/redis(创建安 ...

  3. linux最常用命令整理

    linux vim命令跳转到文档开头或末尾 gg:命令将光标移动到文档开头 G:命令将光标移动到文档末尾 <hr/> 网络 # ifconfig # 查看所有网络接口的属性 # iptab ...

  4. 如何在网页中嵌入QQ 阿里旺旺等代码

    1 登陆以下网址: http://wp.qq.com/login.html?target=1 2 复制代码到HTML中即可 3 将对方和自己的QQ都登陆测试(注意自己QQ必须是2010以上版本,否则会 ...

  5. iOS_Objective-C測试

    1. iOS中程序正常载入UIViewControlle时,下面四个方法哪个最先运行? A.viewVillAppear B.viewDidLoad C.viewDidAppear D.viewWil ...

  6. 极光推送sdk使用

    创建应用 进入极光控制台后,点击“创建应用”按钮,进入创建应用的界面. 填上你的应用程序的名称以及应用包名这二项就可以了, 最后点击最下方的 “创建我的应用”按钮,创建应用完毕.   创建应用   填 ...

  7. ionicframework(二)

    Start building with Ionic! Follow these quick steps and start building high quality mobile apps in m ...

  8. AES + RSA + Hash 实现 C-S 安全交互

    概述 AES 由于其执行速度快,易于硬件实现,破解难度大等优势,被广泛用于数据的加密. 既然是对称加密,那如何保证秘钥的安全传输?很容易想到用 RSA 加密秘钥.由于只能用私钥解密,而私钥不需要交互双 ...

  9. 測试赛C - Eqs(哈希)

    C - Eqs Time Limit:5000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Stat ...

  10. unity, unity中GL.MultMatrix的一个超级bug

    GL.MultMatrix与OpenGL固定管线的glMultMatrix函数行为并不一致,不是累乘,而是覆盖. 例如下面例子,本来预期是在(100,100)处画一个方块,而实际效果却是在(0,0)处 ...