我的这个删除节点报不是子节点错误  搞不懂 高手帮我看看
能贴源码更好
  
<name url="About.aspx" title="学员连接" desc="">
  <name url="Default.aspx" title="张三" desc="">
    <name url="WebForm1.aspx" title="李四" desc=""/>
  </name>
  <name url="WebForm2.aspx" title="王五" desc="">
    <name url="WebForm1.aspx" title="陈二" desc=""/>
  </name>
</name>
 XmlDocument doc = new XmlDocument();
            doc.Load(@"d:\我的文档\visual studio 2010\Projects\WebApplication2\WebApplication2\student.xml");
            XmlNode node = doc.SelectSingleNode("//name[@title=\"张三\"]");
            doc.RemoveChild(node);//不能成功
            
            doc.Save(@"d:\我的文档\visual studio 2010\Projects\WebApplication2\WebApplication2\student.xml");

解决方案 »

  1.   

     node.ParentNode.RemoveChild(node);//不能成功
      

  2.   

    XmlDocument doc= new XmlDocument();
    doc.Load("");
    XmlNode no= doc.SelectSingleNode("//name/name[@title='']");   
    if(no!=null)
    {
    XmlElement xe=(XmlElement)no;   
    xe.RemoveAll();
    }
    RemoveAll();//删除该节点的全部内容   
      

  3.   

    可以用linq
    xml文件
    <?xml version="1.0" encoding="utf-8" ?>
    <name url="About.aspx" title="学员连接" desc="">
      <name url="Default.aspx" title="张三" desc="">
        <name url="WebForm1.aspx" title="李四" desc=""/>
      </name>
      <name url="WebForm2.aspx" title="王五" desc="">
        <name url="WebForm1.aspx" title="陈二" desc=""/>
      </name>
    </name>
      XElement xElement = XElement.Load("XMLFile1.xml");
                if (xElement != null)
                {
                    xElement.Elements().Where(p => p.Attribute("title").Value.Equals("张三")).Remove();
                    xElement.Save("XMLFile1.xml");
                }