none
xml怎么删除节点的同时删除自己,用RemoveAll不行啊!! RRS feed

  • 问题

  • xml怎么删除节点的同时删除自己

     

    <boot>

    <web addtime="2008122254439">
        <webname>北京高考网</webname>
        <webadd>bjgaokao.com</webadd>
        <webimg>交换链接</webimg>
      </web>

    </boot>

     

     string path = System.Web.HttpContext.Current.Server.MapPath(db_Path);
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(path);
            XmlNodeList nodelist = xmldoc.SelectSingleNode("boot").ChildNodes;
            foreach (XmlNode xn in nodelist)
            {
                XmlElement xe = (XmlElement)xn;
                if (xe.Name == "web" && xe.GetAttribute("addtime") == d.times)
                {
                    xe.RemoveAll();
                    break;
                }
            }
            xmldoc.Save(path);
            return null;

     

    删除后是:

    <web>

    </web>

    怎么把

    <web>

    </web>

    也删除

    2008年12月23日 6:03

答案

  • RemoveAll是移除属性和子节点吧

                if (xe.Name == "web" && xe.GetAttribute("addtime") == d.times)
                {
                   
    xe.ParentNode.RemoveChild(xe);
                    break;
                }


    试试这样写
    话说
    foreach 里XmlElement xe = (XmlElement)xn 转换是多余的
    2008年12月23日 6:18

全部回复

  • RemoveAll是移除属性和子节点吧

                if (xe.Name == "web" && xe.GetAttribute("addtime") == d.times)
                {
                   
    xe.ParentNode.RemoveChild(xe);
                    break;
                }


    试试这样写
    话说
    foreach 里XmlElement xe = (XmlElement)xn 转换是多余的
    2008年12月23日 6:18
  •  

    完全没有可补充的。。。。。 5555
    2008年12月23日 6:21