<?xml version="1.0" encoding="utf-8"?>
<bcaster autoPlayTime="3">
  <item id="2" item_url="images/newflash2.jpg" link="ArticleView.aspx?id=45" itemtitle="湖南科霸汽车动力电池有限责任公司招聘会">
  </item>
</bcaster>上面就是XML。
我用一般的方法删除。但删除后还留着<item></item>。        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(bannerXmlPath);        XmlNodeList nodeList = xmlDoc.SelectSingleNode("bcaster").ChildNodes;        foreach (XmlNode n in nodeList)
        {
            XmlElement xn = (XmlElement)n;
            if (xn.GetAttribute("id").Equals(str))
            {
                xn.RemoveAll();
                break;
            }
        }        xmlDoc.Save(bannerXmlPath);我这样删也还留着<item></item>。怎么才能把这个标签给删了? 

解决方案 »

  1.   

    用string.Replace()
    正则匹配,替换成空
      

  2.   

    http://topic.csdn.net/u/20090804/11/fd9cc4e3-e3f5-4e60-bc71-e945e6c89924.html
      

  3.   

       Regex rgx = new Regex(@"\<item[\w]*\</item\>");
       tmpStr = rgx.Replace(tmpStr, "")
      

  4.   

     XmlDocument xmlDoc = new XmlDocument(); 
            xmlDoc.Load(bannerXmlPath); XmlNodeList nodeList = xmlDoc.SelectSingleNode("bcaster").ChildNodes
    XmlNode parentNode = xmlDoc.SelectSingleNode("bcaster")
    XmlElement xn = null;
    foreach (XmlNode n in nodeList) 
            { 
                XmlElement xn = (XmlElement)n;             if (n.ChildNodes[0].InnerText.Equals(str))
                { 
                     parentNode.RemoveChild(xn);                 
                } 
            }