xml操作之根据2个不节点属性删除节点

可以参考 :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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值