查询

采用的是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. Codeforces Round #181 (Div. 2) B. Coach 带权并查集

    B. Coach 题目连接: http://www.codeforces.com/contest/300/problem/A Description A programming coach has n ...

  2. KFC数据测试hbase结果

    两个field,一个是KFC数据 一个列放的内容是“same” 每条数据都flush   SLF4J: Failed to load class "org.slf4j.impl.Static ...

  3. JS获取与遍历节点的兄弟父级

    发布:脚本学堂/JavaScript  编辑:JB01   2014-01-23 15:40:11  [大 中 小] 介绍下js获取节点的兄弟.父级与子元素的方法,学习下js遍历节点的操作方法,有需要 ...

  4. 基于jQuery的美食时间轴焦点图插件

    这是一款非常炫酷的jQuery焦点图插件,这款jQuery焦点图的特点是有一个时间轴,点击切换按钮时,时间轴会逐渐移动,时间轴上的图片也会逐渐切换.另外,在图片上方也可以放置自定义样式的文字. 在线预 ...

  5. Game: Map Design Considerations 游戏地图设计指南

    依据前文伏击战场景手稿, 用Tile Studio "草草"制作出该场景的地图: 生成的C源码: #ifndef _open_war_1Gfx_c #define _open_wa ...

  6. python脚本初探---新手如何直接编写一个hello world模块即可执行的.py文件

    废话不多说,就讲一下这个背景吧: 事情是这个样子的~ 本着好学的精神,咱就买了本书,学习python结果呢,发现python的教程都是一个样子滴,上来的第一个hello world 都是通过IDLE来 ...

  7. Java再学习——随机面试题

    1.final, finally, finalize的区别 final—是修饰符,可以修饰变量.方法和类. final类不能再派生出新的子类即不可当父类: final变量必须在声明时给定初值或在构造方 ...

  8. java如何判断字符串是否为空的方法

    以下是java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s)); 方法二: ...

  9. 【高德地图开发4】---增加覆盖物setMapTextZIndex

    高德地图 Android SDK 允许用户将添加的线.面等覆盖物设置在地图底图文字的上方或下方. 具体实现是使 用 AMap 类的 setMapTextZIndex() 方法来设置地图底图文字的z轴指 ...

  10. LocalActivityManager的内部机制

    LocalActivityManager内部机制的核心在于,它使用了主线程对象mActivityThread来装载指定的Activity.注意,这里是装载,而不是启动,这点很重要. 所谓的启动,一般是 ...