查询

采用的是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 #338 (Div. 2) C. Running Track dp

    C. Running Track 题目连接: http://www.codeforces.com/contest/615/problem/C Description A boy named Ayrat ...

  2. maven项目编译漏掉src/main/java下的xml配置文件

    在整合Spring + Mybatis框架的时候,自动扫描配置都已经配置好了. 配置如下: <?xml version="1.0" encoding="UTF-8& ...

  3. TP常用函数

    英文字符可用形如 {$vo.title|substr=0,5} 如果是中文字符thinkphp提供了msubstr如下 function msubstr($str, $start=0, $length ...

  4. php或js判断网站访问者来自手机或者pc机

    php或js判断网站访问者来自手机或者pc机 2013年9月26日,在弄wtuonline的时候为了区分用户是来自手机版浏览器还是pc,针对不同平台选择不同的网站版本,最终总结如下:         ...

  5. iOS-swift环形进度指示器+图片加载动画

    demo.gif 如图,这个动画的是如何做的呢? 分析: 1.环形进度指示器,根据下载进度来更新它 2.扩展环,向内向外扩展这个环,中间扩展的时候,去掉这个遮盖 一.环形进度指示器 1.自定义View ...

  6. 把你的旧笔记本变成 Chromebook

    导读 Linux 之年就在眼前.根据报道,Google 在 2016 年第一季度卖出了比苹果卖出的 Macbook 更多的 Chromebook.并且,Chromebook 即将变得更加激动人心.在 ...

  7. Subsequence poj 3061 二分(nlog n)或尺取法(n)

    Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9236   Accepted: 3701 Descr ...

  8. Android(java)学习笔记266:Android线程形态之 IntentService

    1. IntentService原理 IntentService是一种特殊的Service,既然是Service,使用的时候记得在AndroidManifest清单文件中注册. 并且它是一个抽象类,因 ...

  9. 【AsyncTask整理 2】 AsyncTask方法代码演示

    Android SDK为我们提供了一个后台任务的处理工具AsyncTask.AsyncTask就是一个封装过的后台任务类顾名思义就是异步任务,方便我们维护,Android开发网提示这样的好处可以解决一 ...

  10. 重构22-Break Method(重构方法)

    这个重构是一种元重构(meta-refactoring),它只是不停地使用提取方法重构,直到将一个大的方法分解成若干个小的方法.下面的例子有点做作,AcceptPayment方法没有丰富的功能.因此为 ...