xml操作之根据2个不节点属性删除节点
来源:互联网 发布:windows 锁屏快捷键 编辑:程序博客网 时间:2024/06/07 10:02
可以参考 :http://blog.csdn.net/milijiangjun/article/details/78502774
根据xml 的需求,会设计到的部分如下: 例如根据不同的的节点属性找到节点,然后进行删除xml 中指定的节点。
首先找到节点,然后进行删除操作如图
代码如下:
#region 开始进行修改xml 文件 errJournal.writeLog("删除节点开始"); if (File.Exists(file)) { #region 文件存在 开始查找删除 try { XmlDocument xmlDoc = new XmlDocument(); XmlReaderSettings xmlrsetting = new XmlReaderSettings(); xmlrsetting.IgnoreComments = true; xmlDoc.Load(file); //得到根节点 XmlNode xn = xmlDoc.SelectSingleNode("krpano"); //得到根节点的所有子节点 XmlNodeList xnl = xn.ChildNodes; #region 内部逻辑部分 开始进行找热点删除 XmlNodeList xmllistMoveHo = xmlDoc.SelectNodes("//hotspot"); int Count = xmllistMoveHo.Count; foreach (XmlNode item in xmllistMoveHo) { XmlElement xe = item as XmlElement; string name = xe.Name; if (xe.GetAttribute("ath") == Dath && xe.GetAttribute("atv") == Datv) { xe.RemoveAll(); } // string Checks = string.Format("//hotspot[@ath='{0}' and @atv='{1}']",Dath,Datv).ToString(); //string Checks = string.Format("//hotspot[@ath='{0}']", Dath, Datv).ToString(); //string Checks2 = string.Format("//hotspot[@ath='{1}']", Dath, Datv).ToString(); //XmlNodeList MoveHost = item.SelectNodes(Checks); //XmlNodeList MoveHost2 = item.SelectNodes(Checks2); //for (int i = 0; i < MoveHost.Count; i++) //{ // var c = "123"; // for (int j = 0; j < MoveHost2.Count; j++) // { // xe.RemoveChild(MoveHost2[j]); // } //} } #endregion xmlDoc.Save(file); return true; } catch (Exception e) { errJournal.writeLog("修改文件时候出错:" + e.Message); return false; } #endregion } else { errJournal.writeLog("修改的文件不存在"); return false; } errJournal.writeLog("删除节点结束"); #endregion
阅读全文
0 0
- xml操作之根据2个不节点属性删除节点
- xml SelectSingleNode 根据属性来选择节点
- 根据属性来选择xml节点
- jQueryDom操作之删除节点
- 一次删除多个XML节点(RemoveChild())
- 获得xml节点,节点属性,节点内容
- js创建及操作节点之删除节点、替换节点、插入节点
- java之xml文件中删除节点
- c#对xml多属性节点的增加,删除,修改操作源码
- c#对xml多属性节点的增加,删除,修改操作源码
- 【C#】C#操作XML方法:新增、修改和删除节点与属性
- C#操作XML方法:新增、修改和删除节点与属性
- c#对xml多属性节点的增加,删除,修改操作源码
- C# xml 根据属性值直接得到目标节点
- dom4j 删除节点属性
- 删除XML节点
- 删除xml某节点
- php xml删除节点
- 156.PHP多进程
- acA4112-20uc
- 手机端页面布局之rem
- com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
- 自定义的servlet的 doGet,doPost是怎样被调用到的
- xml操作之根据2个不节点属性删除节点
- view处理事件
- Maximum Value Problem FZU 2037 找规律 递推
- 简单的文字+网址等过滤器
- Bootstrap 3 modal导致页面出现右边距
- MySQL存储引擎
- 爬虫系列9CSV模块
- 爬虫系列10.BS4简介
- Log4j与logback冲突问题,导致第三方日志狂刷