请教如何删除下面student.xml文件中 name 为 李小明 的这个结点
//student.xml
<?xml version="1.0" encoding="utf-8"?>
<student>
  <username>
    <name>李小明</name>
    <sex>女</sex>
    <age>28</age>
  </username>
  <username>
    <name>王芳</name>
    <sex>女</sex>
    <age>30</age>
  </username>
</student>

解决方案 »

  1.   

    <?xml version="1.0" encoding="utf-8"?>
    <student>
        <username>
        <name>王芳</name>
        <sex>女< x>
        <age>30</age>
      </username>
    </student>
      

  2.   

    XmlDocument doc = new XmlDocument();
    XmlNode xn;
    doc.Load(Server.MapPath("student.xml"));
    int num=doc.DocumentElement.ChildNodes.Count-1;
    for(int i=0;i<num;i++)
    {
      xn=doc.DocumentElement.ChildNodes[i].CloneNode(true);
      string name=xn.ChildNodes[0].FirstChild.Value;
      string time=xn.ChildNodes[5].FirstChild.Value;
      if(name=="龙三" && time=="2006-09-06 11:12:30")
      {
       doc.DocumentElement.RemoveChild(xn);  //报错地方
       doc.Save(Server.MapPath("student.xml"));
      }
    }当程序找到相符的记录时运行到doc.DocumentElement.RemoveChild(xn);报错.
    异常详细信息: System.ArgumentException: 要移除的节点不是此节点的子级。
      

  3.   

    解决了.
    把xn=doc.DocumentElement.ChildNodes[i].CloneNode(true);去掉CloneNode(true)
    成xn=doc.DocumentElement.ChildNodes[i]就OK了.
    搞了我快两个小时了.