查询

采用的是DataSet 的 ReadXML方法。

DataSet ds = new System.Data.DataSet();
ds.ReadXml("bdc.xml");

这就读出来了。

写入

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bdc.xml"); //加载文件

XmlNode root = xmlDoc.SelectSingleNode("source");//查找根节点

XmlElement bdc = xmlDoc.CreateElement("bdc");//创建一个节点

XmlElement EWM = xmlDoc.CreateElement("EWM");
EWM.InnerText = getTBValue(dt, "EWM").ToString();//设置文本节点
bdc.AppendChild(EWM);写入bdc节点

root.AppendChild(bdc);把bdc节点写入根节点

修改

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bdc.xml"); //加载文件
XmlNodeList nodeList = xmlDoc.SelectSingleNode("source").ChildNodes;//获取source的所有子节点

foreach (XmlNode xn in nodeList)//遍历所有子节点
{
  XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型

   XmlNodeList node = xe.GetElementsByTagName("BDCID");//获取所有元素名为BCDID的节点

  if (node[0].InnerText == “132456”)//节点的值==“132456”时
  {

    XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点

foreach (XmlNode xn1 in nls)//遍历
{
XmlElement xe2 = (XmlElement)xn1;//转换类型
if (xe2.Name == “name”)//如果找到name属性
{
xe2.InnerText = “上山打老虎”;//修改其值
break;//找到退出来就可以了
}
}

  }

}

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("bdc.xml");
XmlNodeList xnl = xmlDoc.SelectSingleNode("bdc").ChildNodes;

for (int i = 0; i < xnl.Count; i++)
{
XmlElement xe = (XmlElement)xnl[i];//第i个bdc子节点
XmlNodeList node = xe.GetElementsByTagName("bdcid");
if (node.Count > 0)
{
//判断为用户选择的
if (node[0].InnerText == "45678")//条件匹配时 执行删除
{
string m = node[0].InnerText;
xmlDoc.SelectSingleNode("bdc").RemoveChild(node[0].ParentNode);//删除该bdc节点
break;
}
}
}
xmlDoc.Save("bdc.xml");

.NET XML文件增删改查的更多相关文章

  1. java实现xml文件增删改查

    java一次删除xml多个节点: 方案1.你直接改动了nodeList,这一般在做循环时是不同意直接这么做的. 你能够尝试在遍历一个list时,在循环体同一时候删除list里的内容,你会得到一个异常. ...

  2. VB&XML的增删改查

    简介:XML的增删改查 开发过程中有许多后台操作XML的过程,每次需要操作时都是找很多代码来参考或者百度一下.今天决定补充下XML操作的知识,把XML操作的增删改查都写了一遍,供以后开发参考 查询: ...

  3. 对oracle里面clob字段里面xml的增删改查学习

    这段时间,我使用系统表里面有clob字段里面存放的xml信息,我们如何对xml进行增删改查操作呢,自己参考了很多也学到很多,给大家分享一下 首先我们先建测试表 CREATE TABLE EFGP_23 ...

  4. 【基础篇】js对本地文件增删改查

    [基础篇] js对本地文件增删改查--增 js对本地文件增删改查--删 js对本地文件增删改查--改 js对本地文件增删改查--查

  5. 【基础篇】js对本地文件增删改查--查

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  6. 【基础篇】js对本地文件增删改查--改

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  7. 【基础篇】js对本地文件增删改查--删

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  8. 【基础篇】js对本地文件增删改查--增

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  9. Mybatis之基于XML的增删改查

    这里先吐槽下,写的半天的东西,IE浏览器弹出调试窗口导致写的东西全部没保存,搞得我还要重新用谷歌写,思路全没了,fuck. 前面学习了下spring的DAO层,说起DAO层,那ORM肯定是少不了的,O ...

随机推荐

  1. BZOJ 3930: [CQOI2015]选数 递推

    3930: [CQOI2015]选数 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pro ...

  2. C语言(1+1+2+1+2+3....+n)

    #include<stdio.h> void main(){ int i,j,a; long sum=0; //输入a的值 scanf("%d",&a); if ...

  3. 分享个新浪下载图片的ProgressBar进度样式

    https://github.com/eltld/ImageLoadProgress2

  4. [Angular2 Router] CanActivate Route Guard - An Example of An Asynchronous Route Guard

    In this tutorial we are going to learn how we can to configure an can activate route guard in the An ...

  5. OS X 10.9 Mavericks 安装 thrift 0.9.1

    通过Homebrew安装的时候,编译会报错.查了一下资料,原来是10.9系统默认使用的libc++的库,而且移除了C++ 11标准前tr库,所以编译存在问题.且笔者使用的时候,brew安装只支持到0. ...

  6. nexus-2.13.0-01.war

    https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.13.0-01.war

  7. C++面试题:list和vector有什么区别?

    原文:http://genwoxuevc.blog.51cto.com/1852984/503337 C++面试题:list和vector有什么区别?考点:理解list和vector的区别出现频率:★ ...

  8. highcharts笔记 highcharts学习 highcharts用法

    标示线:plotLines : 绘制线:

  9. 文件共享windows server 2008 服务器

    1.远程连接到windows server2008 E盘右键共享 2.不能创建文件夹 右键E盘→共享→高级共享→权限→全部打勾即可. 3.ok,文件服务器

  10. [Arduino] 逗号分隔文本到数组的两种方法

    以下是今日练习通过逗号来分割字符数组/字符串的2个例子和方法" 1.通过indexOf函数 /* *Splitsplit sketch *split a comma-separated st ...