先确定你findNode方法找到的是整个<folder name="afsddasfdas">节点,包括了他的所有子节点!!!

解决方案 »

  1.   

    跟microsoft还是sun?我告诉你!跟谁~~都没戏!
      

  2.   

    我可以肯定找到的是<folder name="afsddasfdas">节点.
    因为在这节点上的添加节点.属性等方法都没有产生错误.包括了他的所有子节点!!!
    这个是什么意思???我只能肯定是找到了这个节点,但我不知道怎样才算找到了包含它所有子节点的节点.
      

  3.   

    chenxiao223(小晨) 
    不知道你是什么意思,不要讨论其他问题...OK?
      

  4.   

    you shouldn't modify the collection inside foreach, seehttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp01212002.aspyou should do
    for (int i=0; i < delNode.ChildNodes.Count ; i++)
    {
     XmlNode node = delNode.ChildNodes[0]; if (node.NodeType != XmlNodeType.Attribute)
    delNode.RemoveChild(node);
    }
    orfor (int i=delNode.ChildNodes.Count-1; i >=0 ; i--)
    {
      XmlNode node = delNode.ChildNodes[i];
      if (node.NodeType != XmlNodeType.Attribute)
    delNode.RemoveChild(node);
    }
      

  5.   

    To saucer(思归):
    还是不行,还是会剩下一个子节点不能删除...
      

  6.   

    1. TestNode2.xml:<folder name="afsddasfdas">
          <folder name="333" />
          <folder name="111" />
          <folder name="222" />
        </folder>
    2. TestNode2.cs:using System;
    using System.Xml;class TestNode2
    {
      static void Main()
      { XmlDocument doc = new XmlDocument();
    doc.Load("TestNode2.xml");XmlNode delNode = doc.DocumentElement;for (int i=delNode.ChildNodes.Count-1; i >=0 ; i--)
    {
    XmlNode node = delNode.ChildNodes[i];
    if (node.NodeType != XmlNodeType.Attribute)
    delNode.RemoveChild(node);
    }
    doc.Save(Console.Out);  }}
      

  7.   

    对不起,刚才是我弄错了.少了个语句....
    saucer(思归)是对的.